在Symfony中创建您的第一页ob娱乐下载

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

在Symfony中创建您的第一页ob娱乐下载

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

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

另请参阅

你更喜欢视频教程吗?请查看Symfony快乐发展ob娱乐下载KnpUniversity的视频系列。

另请参阅

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

创建页面:路由和控制器

提示

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

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

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

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

http://localhost:8000/app_dev.php/lucky/number

提示

如果使用内置的PHP web服务器,可以省略app_dev.phpURL的一部分。

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

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

Web调试工具栏:调试梦想

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

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

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

首先,确保LuckyController扩展了Symfoob娱乐下载ny的基础控制器类:

1 2 3 4 5 6 7 8 9 10
/ / src / AppBundle /控制器/ LuckyController.php/ /……//——>添加新的use语句使用ob娱乐下载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()数量= mt_rand (0One hundred.);返回->呈现(“幸运/ number.html.twig”数组“数量”= >数量));}}

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

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

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

http://localhost:8000/lucky/number

创建和使用模板章节,你将了解所有关于Twig:如何循环,渲染其他模板和利用其强大的布局继承系统。

检查项目结构

好消息!欧宝平台是合法的吗你已经在项目中最重要的两个目录中工作过了:

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

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

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

bin /
著名的bin /控制台文件存在于此(以及其他不太重要的可执行文件)。
测试/
应用程序的自动化测试(例如单元测试)存在于这里。
var /
这是自动创建的文件存储的地方,如缓存文件(var /缓存/)和日志(var /日志/).
供应商/
第三方(即。“供应商”)图书馆住在这里!可以通过作曲家包管理器。
web /
这是你的项目的文档根目录:把任何公共可访问的文件放在这里(例如CSS, JS和图像)。

捆绑和配置

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

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

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

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

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

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

接下来是什么?

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

好了,是时候通过阅读这些章节来完成对基础知识的掌握了:

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

玩得开心!

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