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

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.4,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

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

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

  1. 创建一个路线(如:路线是URL。/对)页面,点一个控制器;
  2. 创建一个控制器:一个控制器是你编写的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服务器的内部去:

http://localhost: 8000 /幸运号码

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

  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/ /……/ / - - >添加新使用的声明使用欧宝娱乐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>

{{号码}}语法是用来打印变量在树枝。让你刷新浏览器幸运数字!

http://localhost: 8000 /幸运号码

创建和使用模板篇文章中,您将了解所有树枝:如何循环,使其他模板,利用其强大的布局的产业系统。

检查项目结构

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

app /
包含配置和模板。基本上,任何PHP代码在这里。
src /
PHP代码住在这里。

99%的时间,你会工作的src /(PHP文件)或app /(一切)。当你继续阅读,你会学到什么可以做这些。

所以在项目的其他目录呢?

bin /
著名的bin /控制台住在这里的文件(和其他不那么重要的可执行文件)。
测试/
自动化测试应用程序(例如单元测试)住在这里。
var /
这就是自动创建文件存储,比如缓存文件(var /缓存/),日志(var /日志/)和会话(var /会议/)。
供应商/
第三方(即。“供应商”)库住在这里!这些都是通过下载作曲家包管理器。
web /
这是为您的项目文档根:在这里放任何公开访问的文件(例如CSS, JS和图像)。

包和配置

Symfo欧宝娱乐app下载地址ny应用程序是预先安装的集合,就像FrameworkBundleTwigBundle。捆绑包是类似的想法插件,但是有一个重要的区别:所有在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下载地址环境)篇文章。

接下来是什么?

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

好的,时间完成掌握基本面通过阅读这些文章:

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

玩得开心!

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。