在Symfony创建您的第一个页面ob娱乐下载
编辑该页面在Symfony创建您的第一个页面ob娱乐下载
创建一个新的页面——无论是一个HTML页面或一个JSON端点——是一个两步的过程:
- 创建一个路线(如:路线是URL。
/对
)页面,点一个控制器; - 创建一个控制器:一个控制器是你编写的PHP函数构建的页面。你把传入的请求信息,并使用它来创建一个Symfonyob娱乐下载
响应
对象,它可以容纳HTML内容,JSON字符串或二进制文件像一个图像或PDF。
截屏视频
你喜欢视频教程?检查Symfony的和谐发展ob娱乐下载视频系列。
另请参阅
ob娱乐下载拥抱HTTP请求-响应生命周期。了解更多,明白了ob娱乐下载Symfony和HTTP基本原理。
创建一个页面:路线和控制器
提示
在继续之前,确保您已经阅读了设置篇文章,可以访问你的新Symfony应用程序在浏览器中。ob娱乐下载
假设您希望创建一个页面/幸运数字
生成一个幸运(随机)并打印数量。为此,创建一个“控制器”类和“控制器”方法里面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src /控制器/ LuckyController.php名称空间应用程序\控制器;使用ob娱乐下载\组件\HttpFoundation\响应;类LuckyController{公共函数数量():响应{美元数量= random_int (0,One hundred.);返回新响应(“< html > <身体>的幸运数字:。美元数量。“< /身体> < / html >”);}}
现在,您需要将该控制器功能与公共URL(例如。/幸运数字
),以便数量()
方法被调用当用户浏览。这种联系是通过创建一个定义的路线在配置/ routes.yaml
文件:
1 2 3 4 5 6
#配置/ routes.yaml#“app_lucky_number”路线的名字并不重要app_lucky_number:路径:/幸运数字控制器:控制器应用\ \ LuckyController:号码
就是这样!如果您正在使用Symfony weob娱乐下载b服务器,要试一下:http://localhost: 8000 /幸运号码
如果你看到一个幸运数字印制回你,恭喜你!但是在你跑去买彩票,看看这是如何工作的。还记得两个步骤来创建一个页面吗?
注释的路线
而不是在YAML定义你的路线,Symfony还允许您使用ob娱乐下载注释或属性路线。属性是内置的PHP从PHP 8。在早期的PHP版本可以使用注释。要做到这一点,注释安装包:
1
美元作曲家需要注释
你现在可以直接添加你的路线以上控制器:
1 2 3 4 5 6 7 8 9 10 11 12 13
/ / src /控制器/ LuckyController.php/ /……+使用ob娱乐下载\组件\路由\注释\路线;类LuckyController{+#(路线(“/幸运数字”)]公共函数数量():响应{/ /这看起来完全一样}}
就是这样!页面- - - - - -http://localhost: 8000 /幸运号码将工作之前完全一样!注释/属性配置路线推荐的方法。
用Symfony Flex Auto-Installingob娱乐下载食谱
你可能没有注意到,但是当你跑作曲家需要注释
两个特殊的事情发生了,由于强大的作曲家插件Flex。
首先,注释
不是一个真正的包名:这是一个别名Flex解析(即快捷方式)sensio赞助/ framework-extra-bundle
。
第二,这个包下载后,Flex运行配方,这是一套自动化的指令,告诉Symfony如何整合外部包。ob娱乐下载Flex的食谱存在许多包和有能力做很多,比如添加配置文件,创建目录,更新.gitignore
和添加一个新的配置.env
文件。Flex自动化的安装包,这样你就可以回到编码。
bin /控制台命令
你的项目已经有一个强大的调试工具:内bin /控制台
命令。试着运行它:
1
美元php bin /控制台
您应该看到一个命令列表,可以给你调试信息,帮助生成代码,生成数据库迁移和更多。当你安装更多的包,你会看到更多的命令。
得到的列表所有路线在你系统的使用调试:路由器
命令:
1
美元php bin /控制台调试:路由器
您应该看到你app_lucky_number
路线列表中:
1 2 3 4 5
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -名方法方案主机路径- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - app_lucky_number任何任何/幸运号码- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
您还将看到除了调试路线app_lucky_number
——更多的调试在下一节路线。
你将了解更多的命令继续!
提示
是否支持您的shell,您还可以设置控制台完成支持。当使用自动完成命令和其他输入bin /控制台
。看到控制台文件有关如何设置完成的更多信息。
Web调试工具栏:调试的梦想
Symfonyob娱乐下载的一个令人惊异的特点是Web调试工具栏:显示一个酒吧巨大的调试信息的页面的底部而发展。这是所有包括开箱即用的使用ob娱乐下载Symfony包被称为ob娱乐下载symfony / profiler-pack
。
您将看到一个昏暗的酒吧在页面的底部。你会了解更多关于它的所有信息,但随意实验:上空盘旋,然后单击不同的图标来获得路由信息,性能,日志等等。
呈现一个模板
如果你从控制器返回的HTML,您可能需要提供一个模板。幸运的是,Symfony提ob娱乐下载供了嫩枝:一个最小的模板语言,强大的和非常有趣。
安装树枝包:
1
美元作曲家要求树枝
确保LuckyController
扩展Symfonob娱乐下载y的基地AbstractController类:
1 2 3 4 5 6 7 8 9 10
/ / src /控制器/ LuckyController.php/ /……+使用控制器ob娱乐下载Symfony \包\ FrameworkBundle \ \ AbstractController;——类LuckyController+类LuckyController AbstractController延伸{/ /……}
现在,使用方便呈现()
方法来呈现一个模板。通过一个数量
变量,所以你可以使用它在树枝:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/ / src /控制器/ LuckyController.php名称空间应用程序\控制器;使用ob娱乐下载\组件\HttpFoundation\响应;/ /……类LuckyController扩展AbstractController{#(路线(“/幸运数字”)]公共函数数量():响应{美元数量= random_int (0,One hundred.);返回美元这- >呈现(“幸运/ number.html.twig”,(“数量”= >美元数量]);}}
住在模板文件模板/
目录,创建时自动安装的树枝。创建一个新的模板/幸运
与一个新的目录number.html.twig
内部文件:
1 2
{/幸运/ number.html #模板。树枝#}<h1>你的幸运数字是{{号码}}< /h1>
的{{号码}}
语法是用来打印变量在树枝。让你刷新浏览器新幸运数字!
现在你可能想知道Web调试工具栏已经:因为没有< /身体>
标签在当前的模板。你可以自己添加body元素,或者扩展base.html.twig
,其中包含所有默认的HTML元素。
在模板篇文章中,您将了解所有树枝:如何循环,使其他模板,利用其强大的布局的产业系统。
检查项目结构
好消息!欧宝平台是合法的吗你已经工作在最重要的目录在您的项目:
-
配置/
- 包含…配置!您将配置路线,服务和包。
-
src /
- 住在这里你所有的PHP代码。
-
模板/
- 住在这里你所有的树枝模板。
大多数时候,你会在src /
,模板/
或配置/
。当你继续阅读,你会学到什么可以做这些。
所以在项目的其他目录呢?
-
bin /
-
著名的
bin /控制台
住在这里的文件(和其他不那么重要的可执行文件)。 -
var /
-
这就是自动创建文件存储,比如缓存文件(
var /缓存/
)和日志(var / log /
)。 -
供应商/
- 第三方(即。“供应商”)库住在这里!这些都是通过下载作曲家包管理器。
-
公共/
- 这是为您的项目文档根:你把任何公开文件。
当你安装新包,在需要时将自动创建新目录。