在Symfony创建您的第一个页面欧宝娱乐app下载地址
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.4,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
在Symfony创建您的第一个页面欧宝娱乐app下载地址
创建一个新的页面——无论是一个HTML页面或一个JSON端点——是一个两步的过程:
- 创建一个路线(如:路线是URL。
/对
)页面,点一个控制器; - 创建一个控制器:一个控制器是你编写的PHP函数构建的页面。你把传入的请求信息,并使用它来创建一个Symfony欧宝娱乐app下载地址
响应
对象,它可以容纳HTML内容,JSON字符串或二进制文件像一个图像或PDF。
截屏视频
你喜欢视频教程?检查快乐的发展,Symfony欧宝娱乐app下载地址视频系列。
另请参阅
欧宝娱乐app下载地址拥抱HTTP请求-响应生命周期。了解更多,明白了欧宝娱乐app下载地址Symfony和HTTP基本原理。
创建一个页面:路线和控制器
提示
在继续之前,确保您已经阅读了设置篇文章,可以访问你的新Symfony应用程序在浏览器中。欧宝娱乐app下载地址
假设您希望创建一个页面/幸运数字
生成一个幸运(随机)并打印数量。,创建一个“控制器”类和“控制器”方法里面,当有人去执行/幸运数字
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
< ? php/ / src / AppBundle /控制器/ LuckyController.php名称空间AppBundle\控制器;使用欧宝娱乐app下载地址\组件\HttpFoundation\响应;使用欧宝娱乐app下载地址\组件\路由\注释\路线;类LuckyController{/ * * *@Route(“/幸运数字”)* /公共函数numberAction(){美元数量= random_int (0,One hundred.);返回新响应(“< html > <身体>的幸运数字:。美元数量。“< /身体> < / html >”);}}
之前,对其进行测试!如果您使用的是PHP web服务器的内部去:
如果你看到一个幸运数字印制回你,恭喜你!但是在你跑去买彩票,看看这是如何工作的。还记得两个步骤创建一个页面吗?
Web调试工具栏:调试的梦想
如果你的页面是工作,那么你应该也看到一个酒吧在浏览器的底部。这被称为Web调试工具栏:调试最好的朋友。你会了解更多关于它的所有信息,但随意实验:上空盘旋,然后单击不同的图标来获得路由信息,性能,日志等等。
呈现一个模板(服务容器)
如果你从控制器返回的HTML,您可能需要提供一个模板。幸运的是,Symfony提欧宝娱乐app下载地址供了嫩枝:模板语言很简单,强大,非常有趣。
首先,进口基地控制器类在第5行所示。然后,让你的LuckyController
类扩展基类:
1 2 3 4 5 6 7 8 9 10
/ / src / AppBundle /控制器/ LuckyController.php/ /……/ / - - >添加新使用的声明使用欧宝娱乐app下载地址\包\FrameworkBundle\控制器\控制器;类LuckyController扩展控制器{/ /……}
现在,使用方便呈现()
呈现一个模板函数。通过我们的数量
变量可以呈现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / AppBundle /控制器/ LuckyController.php/ /……类LuckyController扩展控制器{/ * * *@Route(“/幸运数字”)* /公共函数numberAction(){美元数量= random_int (0,One hundred.);返回美元这- >呈现(“幸运/ number.html.twig”,(“数量”= >美元数量]);}}
最后,应该住在模板文件应用程序/资源/观点
目录中。创建一个新的应用程序/资源/视图/幸运
与一个新的目录number.html.twig
内部文件:
1 2
{# / number.html app /资源/视图/幸运。树枝#}<h1>你的幸运数字是{{号码}}< /h1>
的{{号码}}
语法是用来打印变量在树枝。让你刷新浏览器新幸运数字!
在创建和使用模板篇文章中,您将了解所有树枝:如何循环,使其他模板,利用其强大的布局的产业系统。
检查项目结构
好消息!欧宝app在哪里找你已经工作在项目中最重要的两个目录:
-
app /
- 包含配置和模板。基本上,任何不PHP代码在这里。
-
src /
- PHP代码住在这里。
99%的时间,你会工作的src /
(PHP文件)或app /
(一切)。当你继续阅读,你会学到什么可以做这些。
所以在项目的其他目录呢?
-
bin /
-
著名的
bin /控制台
住在这里的文件(和其他不那么重要的可执行文件)。 -
测试/
- 自动化测试应用程序(例如单元测试)住在这里。
-
var /
-
这就是自动创建文件存储,比如缓存文件(
var /缓存/
),日志(var /日志/
)和会话(var /会议/
)。 -
供应商/
- 第三方(即。“供应商”)库住在这里!这些都是通过下载作曲家包管理器。
-
web /
- 这是为您的项目文档根:在这里放任何公开访问的文件(例如CSS, JS和图像)。
包和配置
Symfo欧宝娱乐app下载地址ny应用程序是预先安装的集合包,就像FrameworkBundle
和TwigBundle
。捆绑包是类似的想法插件,但是有一个重要的区别:所有在Symfony应用程序功能来自一个包欧宝娱乐app下载地址。
包在你的注册app / AppKernel.php
文件(难得的PHP文件app /
目录),每个给你更多工具,有时被称为服务:
1 2 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下载地址环境)篇文章。