在Symfony中创建您的第一页欧宝娱乐app下载地址

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.8,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

在Symfony中创建您的第一页欧宝娱乐app下载地址

创建一个新页面——无论是HTML页面还是JSON端点——是一个两步过程:

  1. 创建路由:路由是URL(例如:/对)到你的页面并指向一个控制器;
  2. 创建控制器:控制器是您编写的构建页面的PHP函数。获取传入的请求信息并使用它来创建Symfony欧宝娱乐app下载地址响应对象,它可以保存HTML内容,JSON字符串,甚至像图像或PDF这样的二进制文件。

另请参阅

欧宝娱乐app下载地址拥抱HTTP请求-响应生命周期。要了解更多信息,请参见欧宝娱乐app下载地址Symfony和HTTP基础

创建页面:路由和控制器

提示

在继续之前,请确保已阅读设置文章,并可以在浏览器中访问您的新Symfony应用程序。欧宝娱乐app下载地址

假设您想创建一个页面-/幸运数字-生成一个幸运(嗯,随机)数字并打印出来。为此,在其中创建一个“Controller类”和一个“Controller”方法,当有人转到/幸运数字

12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21
<?php/ / src / AppBundle /控制器/ LuckyController.php名称空间AppBundle控制器使用Sensio赞助FrameworkExtraBundle配置路线使用欧宝娱乐app下载地址组件HttpFoundation响应LuckyController/ * * *@Route(“/幸运数字”)* /公共函数numberAction()数量= random_int (0One hundred.);返回响应(' '数量' < /身体> < / html >”);}}

在深入研究之前,先测试一下!如果你使用的是PHP的内部web服务器,请访问:

http://localhost:8000/lucky/number

如果你看到一个幸运数字被打印回来,恭喜你!但在你跑去买彩票之前,看看它是如何工作的。还记得创建页面的两个步骤吗?

  1. 创建路由:@Route以上numberAction ()路线:它定义了该页面的URL模式。你会学到更多路由在自己的章节里,包括如何制作变量url;
  2. 创建控制器:路由“-”下面的方法numberAction ()-被称为控制器.这是一个函数构建页面并最终返回响应对象。你会学到更多控制器在它们自己的部分中,包括如何返回JSON响应。

Web调试工具栏:调试梦想

如果您的页面正在工作,那么您应该这样做在浏览器底部看到一个栏。这就是所谓的Web调试工具栏:它是你调试最好的朋友。在此过程中,您将了解到更多关于它所包含的所有信息,但请随意进行实验:将鼠标悬停在上面并单击不同的图标,以获得关于路由、性能、日志记录等的信息。

呈现模板(使用服务容器)

如果从控制器返回HTML,则可能需要呈现模板。幸运的是,Symfony自欧宝娱乐app下载地址带嫩枝:一种简单、强大且有趣的模板语言。

首先,导入基控制器类,如下面的第5行所示。然后,让你的LuckyController类扩展基类:

1 2 3 4 5 6 7 8 9 10
/ / src / AppBundle /控制器/ LuckyController.php/ /……//——>添加新的use语句使用欧宝娱乐app下载地址FrameworkBundle控制器控制器LuckyController扩展控制器/ /……

现在,用把手呈现()函数呈现模板。把它传给我们数量变量,所以我们可以渲染它:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / AppBundle /控制器/ LuckyController.php/ /……LuckyController扩展控制器/ * * *@Route(“/幸运数字”)* /公共函数numberAction()数量= random_int (0One hundred.);返回->呈现(“幸运/ number.html.twig”数组“数量”= >数量));}}

最后,模板文件应该位于应用程序/资源/观点目录中。创建一个新的应用程序/资源/视图/幸运目录,使用新的number.html.twig内部文件:

1 2 3
{# / number.html app /资源/视图/幸运。树枝#}<h1>你的幸运数字是{{number}}h1>

{{number}}语法用于打印变量在Twig。刷新浏览器以获得您的幸运数字!

http://localhost:8000/lucky/number

创建和使用模板在这篇文章中,你将学到关于Twig的所有知识:如何循环,渲染其他模板和利用其强大的布局继承系统。

检查项目结构

好消息!欧宝app在哪里找你已经在项目中最重要的两个目录中工作过了:

app /
包含配置和模板之类的内容。基本上,任何东西都可以PHP代码在这里。
src /
PHP代码位于这里。

99%的时间,你都在工作src /(PHP文件)app /(一切)。在继续阅读的过程中,您将了解到可以在每个容器中执行哪些操作。

那么项目中的其他目录呢?

供应商/
第三方(即。“供应商”)图书馆住在这里!可以通过作曲家包管理器。
web /
这是你的项目的文档根目录:把任何公共可访问的文件放在这里(例如CSS, JS和图像)。

捆绑和配置

您的Sym欧宝娱乐app下载地址fony应用程序预装了一组,就像FrameworkBundle而且TwigBundle.包的思想类似于插件,但有一个重要的区别:所有Symfony应用程序中的功能来自一个欧宝娱乐app下载地址包。

捆绑包注册在您的app / AppKernel.php文件(一个罕见的PHP文件app /目录),每一个都给你更多工具,有时被称为服务

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
AppKernel扩展内核公共函数registerBundles()数组欧宝娱乐app下载地址Symfony \包\ FrameworkBundle \ FrameworkBundle (),欧宝娱乐app下载地址Symfony \包\ TwigBundle \ TwigBundle (),/ /……);/ /……返回;}/ /……

例如,TwigBundle负责将树枝工具添加到您的应用程序!

最终,为了获得更多工具,你将下载并添加更多第三方捆绑包到你的应用程序中。想象一个帮助您创建分页列表的包。存在的!

控件可以控制包的行为应用程序/配置/ config.yml文件。该文件-以及其他细节,如环境和参数-将在配置Symfony(和环欧宝娱乐app下载地址境)篇文章。

接下来是什么?

恭喜!你已经开始掌握Symfony,并学习一种全新的方式来构建漂亮、功能强欧宝娱乐app下载地址大、快速和可维护的应用程序。

好了,是时候通过阅读这些文章来掌握基本知识了:

然后,学习其他重要的话题,如服务容器,形式系统,使用学说(如果您需要查询数据库)和更多!

玩得开心!

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。