大局
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
大局
在10分钟内开始使用Syob娱乐下载mfony !本章将指导您完成Symfony背后最重要的概念并解释如何开始快速地向您展示一个简单的项目。ob娱乐下载
如果你使用一个web框架之前,你应该感到在家Symfony。ob娱乐下载如果不是,欢迎来到一个全新的开发web应用程序的方式。
安装Symfonyob娱乐下载
继续阅读这一章之前,确保已经安装了PHP和Symfony的解释ob娱乐下载安装和设置Symfony框架ob娱乐下载篇文章。
理解基本原理
框架的主要目标之一是保持代码组织,并允许您的应用程序发展随着时间的推移,通过避免数据库调用的混合,HTML标记和其他PHP代码相同的脚本。用Symfony实现这一目标,首先你需要学习一些基本ob娱乐下载概念。
开发一个Symfony应用程序时,你ob娱乐下载的责任作为一个开发人员编写的代码映射用户的请求(如。http://localhost: 8000 /
)资源与它相关联的(主页
HTML页面)。
执行的代码定义为PHP类的方法。的方法被称为行动和类控制器在实践中,但大多数开发人员使用控制器引用。用户的请求和代码之间的映射是通过定义的路由配置。和在浏览器中显示的内容通常是使用模板。
当你去http://localhost: 8000 / app /例子
Syob娱乐下载mfony将执行控制器src / AppBundle /控制器/ DefaultController.php
和呈现应用程序/资源/视图/ / index.html.twig违约
模板。
在以下几节中,您将了解详细的内部运作Symfony控制器,路线和模板。ob娱乐下载
行动和控制器
打开src / AppBundle /控制器/ DefaultController.php
文件,你会看到下面的代码(现在,不要看@Route
配置,因为这将在下一节中解释):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
名称空间AppBundle\控制器;使用ob娱乐下载\包\FrameworkBundle\控制器\控制器;使用ob娱乐下载\组件\路由\注释\路线;类DefaultController扩展控制器{/ * * *@Route(" name = "主页")* /公共函数indexAction(){返回美元这- >呈现(“违约/ index.html.twig”,(/ /……]);}}
在Syob娱乐下载mfony应用程序中,控制器通常是PHP类后缀的是谁的名字控制器
词。在这个示例中,调用控制器默认的
和PHP类DefaultController
。
在一个控制器称为定义的方法行动,他们通常与一个应用程序的URL相关联,他们的名字是后缀为行动
。在这个例子中,默认的
控制器只有一个动作指数
和定义indexAction ()
方法。
行动通常是很短的,重量在10 - 15行代码,因为他们只是调用应用程序的其他部分获取或生成所需的信息,然后提供一个模板向用户显示结果。
在这个例子中,指数
行动几乎是空的,因为它不需要调用任何其他方法。行动只是呈现Symfony的模板来欢迎你。ob娱乐下载
路由
ob娱乐下载Symfony的行动路线每个请求处理通过匹配请求的URL路径配置应用程序。重新开放的src / AppBundle /控制器/ DefaultController.php
文件,看看上面的三行代码indexAction ()
方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/ / src / AppBundle /控制器/ DefaultController.php名称空间AppBundle\控制器;使用ob娱乐下载\包\FrameworkBundle\控制器\控制器;使用ob娱乐下载\组件\路由\注释\路线;类DefaultController扩展控制器{/ * * *@Route(" name = "主页")* /公共函数indexAction(){返回美元这- >呈现(“违约/ index.html.twig”,(/ /……]);}}
通过这三个行定义路由配置@Route ()
注释。一个PHP注释是一种方便的方式来配置方法,而不必编写PHP代码。注意,注释块/ * *
,而常规PHP的评论/ *
。
第一个值的@Route ()
定义了URL,将触发动作的执行。当你不需要添加主机应用程序的URL(例如。http://example.com
),这些url总是相对的,他们通常叫做路径。在这种情况下,/
路径指的是应用程序的主页。第二个值@Route ()
(如。name = "主页"
)是可选的,这条路的名字。现在不需要这个名字,但后来它会有用的链接页面。
考虑这一切,@Route (" / " name = "主页")
注释创建了一个新的途径主页
这使得Symfony执行ob娱乐下载指数
行动的默认的
控制器当用户浏览/
应用程序的路径。
提示
除了PHP注释,路线可以配置在YAML, XML或PHP文件,解释的路由指南。这种灵活性是Symfony的主要特色之一,一个框架,从不把一个特定的配置格式强加给你。ob娱乐下载
模板
唯一的内容指数
行动是PHP指令:
1 2 3
返回美元这- >呈现(“违约/ index.html.twig”,(/ /……]);
的$ this - >渲染()
方法是一种方便的快捷方式来呈现一个模板。ob娱乐下载Symfony提供了一些有用的快捷方式的任何控制器扩展基础Symfony控制器类。
存储在默认情况下,应用程序模板应用程序/资源/视图/
目录中。因此,默认的/ index.html.twig
模板对应应用程序/资源/视图/ / index.html.twig违约
。打开该文件,您将看到以下代码:
1 2 3 4 5 6 7 8
{# app /资源/视图/违约/ index . html。树枝#}{%扩展“base.html。嫩枝' %}{%块身体%}<h1>欢迎来到Symfonyob娱乐下载< /h1>{#……#}{%endblock%}
处理环境中
现在,您已经有了一个更好的理解Symfony是如何工作的,仔细看看任何Symfony呈现页面的底ob娱乐下载部。你应该注意到一个小酒吧,Symfony的标志。ob娱乐下载这是“web调试工具栏”,这是一个Symfony开发人员最好的朋友!ob娱乐下载
但你看到最初只是冰山一角;点击任何酒吧的部分打开分析器和得到更多的详细信息请求,查询参数,安全细节和数据库查询:
这个工具提供了如此多的内部应用程序的信息,你可能会担心你的访客访问的信息。ob娱乐下载Symfony是意识到这个问题,因为这个原因,它不会显示这个酒吧当你的应用程序运行在生产服务器上。
Symfony如何ob娱乐下载知道您的应用程序是否运行在本地或在生产服务器上吗?继续阅读发现的概念执行环境。
什么是环境?
一个环境代表一组配置用来运行您的应用程序。ob娱乐下载Symfony定义了默认两个环境:dev
(适合当开发本地应用程序)刺激
(在执行应用程序时生产优化)。
当你参观http://localhost: 8000
URL在您的浏览器中,你执行Symfony应用程序中ob娱乐下载dev
环境。访问您的应用程序中刺激
环境,参观http://localhost: 8000 / app.php
URL。如果你喜欢总是显示dev
环境的URL,您可以访问http://localhost: 8000 / app_dev.php
URL。
环境之间的主要区别dev
优化开发人员提供大量的信息,这意味着糟糕的应用程序的性能。与此同时,刺激
优化获得最佳性能,这意味着禁用调试信息,以及web调试工具栏。
另一个环境之间的差异是配置选项用于执行应用程序。当你访问dev
环境,Symfony加载ob娱乐下载应用程序/配置/ config_dev.yml
配置文件。当你访问刺激
环境,Symfony加载ob娱乐下载应用程序/配置/ config_prod.yml
文件。
通常,环境共享大量的配置选项。出于这个原因,你把你的常见的配置config.yml
并覆盖在必要时每个环境的特定配置文件:
1 2 3 4 5 6 7
# app / config / config_dev.yml进口:- - - - - -{资源:config.yml}web_profiler:工具栏:真正的intercept_redirects:假
在这个例子中,config_dev.yml
配置文件导入常见config.yml
文件,然后将覆盖任何现有的web调试工具栏配置有自己的选择。
对于更多细节环境,明白了“环境”一节配置向导。