Symfony5 系列教程2- 创建前端页面

这个教程是基于symfony5进行编写,以后再出高版本的symfony,那么就可以只出一套针对这个高版本的特性进行编写,该系列教程会一直延续更新。

点赞再看,养成习惯,微信搜索公众号【程序员老班长】关注这个互联网老班长,查看更多系列文章

目录

1,新建控制器

2,添加路由

3,为控制器添加新方法

4,新建模板文件

5,添加路由

6,Twig模板

7,    总结


基于上一节里面的my_project_website-skeleton项目,继续。

我们现在开始创建控制器和前端页面。

1,新建控制器

在 src/Controller里面创建 HelloController,代码如下:

<?php
​
namespace App\Controller;
​
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class HelloController  extends AbstractController
{
​
    public function index(){
        $number = random_int(0, 100);
​
        return new Response(
            '<html><body>Hello number: '.$number.'</body></html>'
        );
    }
}

2,添加路由


config/routes.yaml里面添加:

app_hello: path: /hello/index controller: App\Controller\HelloController::index 
php -S 127.0.0.1:8000  -t public

打开浏览器:

http://127.0.0.1:8000/hello/index

出现界面:

可以看到这个我们写的Controller已经开始工作。

3,为控制器添加新方法

我们给这个Controller再添加一个方法:

   public function index1(){        $number = random_int(0, 100);        return $this->render('hello/number.html.twig', [            'number' => $number,        ]);    }

4,新建模板文件

再在templates/hello下新建文件:number.html.twig,

<h1>Your lucky number is {{ number }}</h1>

5,添加路由

在config/routes.yaml里面添加:

app_hello1:  path: /hello/index1  controller: App\Controller\HelloController::index1

我们在浏览器里面访问:

http://127.0.0.1:8000/hello/index1

可以看到:

里面的数字是随机数字,每次访问看到的数字都不一样,所以当你这样运行的时候看到数字会和我的不一样。

在控制器里面返回的对象不能为NULL,必须返回一个Response对象。

6,Twig模板

可以看到我们之前创建的前端页面文件后缀为html.twig,这实际上就一个twig文件,关于twig,它是一个模板引擎,我们来看下的介绍:

Twig是一款灵活、快速、安全的PHP模板引擎。

它的官方网站地址:https://twig.symfony.com

关于twig的内容,后面更新的文章会详细介绍。

7, 总结


本节主要是理解控制器和前端页面的关系,以及如何创建控制器和前端页面。这样大体就对控制器、页面、路由有了了解。

文章持续更新,可以微信搜索公众号「 程序员老班长 」查看更多文章。

猜你喜欢

转载自blog.csdn.net/liliangzhao/article/details/106157159