欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于使用 symfony 3.4.32中Luckynumber 页面的 route 书写

程序员文章站 2022-05-22 16:29:26
关于symfony 3.4.32的安装与配置及第一个页面Luckynumber 的route书写 1.symfony 的安装与配置 symfony官网文档:https://symfony.com/doc/current/setup.html 2.通过 composer 创建 symfony 应用 我 ......

关于symfony 3.4.32的安装与配置及第一个页面luckynumber 的route书写

1.symfony 的安装与配置

symfony官网文档:https://symfony.com/doc/current/setup.html

2.通过 composer 创建 symfony 应用

我是通过 composer 来创建一个 symfony 应用的(关于 composer 可自行网上搜索)

安装好 composer 后,通过 composer 创建一个 symfony 应用

 

$ composer create-project symfony/framework-standard-edition my_project_name

 

如果你想安装指定版本的 symfony ,可以在命令最后补充版本号

 

$ composer create-project symfony/framework-standard-edition my_project_name "3.0.*"

3.运行 symfony 应用

安装好后就要运行一下运行环境要求 php 版本在 5.4 及以上,才可以执行下面命令来启动 symfony 应用我是安装了集成软件 wamposerver 其中包括了 php、apache、mysql,我选择的 php 版本是 7.2.18

 

$ cd my_project_name/
$ php bin/console server:run

 

然后打开浏览器,输入 http://localhost:8000/ 即可看见 welcome 页面。
你也许会看到 welcome 页面是个空白页面或者报错页面。

可以参考:https://symfony.com/doc/current/setup.html#book-installation-permissions

3.创建一个页面:路由和控制器

跟着官网文档第一个页面是做 luckynumber 
就是创建一个页面 /lucky/number 用来生成一个幸(sui)运(ji)数并打印出来。

首先创建一个类和一个成员方法。
phpstorm 中打开前面创建的 my_project_name

具体的文件位置和命名空间根据实际情况而定

下面的代码是我自己修改过的

 


<?php

// 文件位置 src/appbundle/controller/luckycontroller.php
namespace appbundle\controller;

use symfony\component\httpfoundation\response;

class luckycontroller
{
public function number() { $number = rand(0, 100); return new response( '<html><body>lucky number: '.$number.'</body></html>' ); }
}

 

文档上是在 config/routes.yaml file 创建 route ,但我自己做的时候,自己尝试创建 routes.yaml file 并将下列代码附上去的时候是没有成功的,

当我慢慢看文档后面的内容时就将文件位置改为了 routing.yml file 加上下列代码就成功了。

这是一种 route 书写方法:

 

app_lucky_number:
    path: /lucky/number
    controller: appbundle\controller\luckycontroller::number

 

另一种如下所示:

 

<?php

//  src/appbundle/controller/luckycontroller.php
namespace appbundle\controller;

use sensio\bundle\frameworkextrabundle\configuration\route;
use symfony\component\httpfoundation\response;


class luckycontroller
{
    /**
     * @route("/lucky/number")
     */
    public function number()
    {
        $number = rand(0, 100);

        return new response(
            '<html><body>lucky number: '.$number.'</body></html>'
        );
    }
}

 

目前我就理解到这些,以后有学到新的再更新,如果有大佬教教我的话自然是再好不过了。