大局
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
大局
10分钟内开始使用Symob娱乐下载fony !本章将向您介绍Symfony背后最重要的概念,并解释如何通过演示一个简单的项目来快速入门。ob娱乐下载
如果你以前使用过web框架,你应该对Symfony感到很熟悉。ob娱乐下载如果没有,欢迎使用一种全新的开发web应用程序的方式。
安装Symfonyob娱乐下载
在继续阅读本章之前,请确保已经安装了PHP和Symfonyob娱乐下载安装和设置Symfony框架ob娱乐下载篇文章。
理解基本原理
框架的主要目标之一是保持代码的组织性,并通过避免在同一个脚本中混合数据库调用、HTML标记和其他PHP代码,使应用程序能够随着时间的推移而轻松地发展。要使用Symfony实现这一目标,首先需要学习一些基ob娱乐下载本概念。
在开发Symfony应用程序时,作为ob娱乐下载开发人员的责任是编写映射用户应用程序的代码请求(如。http://localhost:8000/
)资源与之相关的(the主页
HTML页面)。
要执行的代码定义为PHP类的方法。方法被调用行动还有课程控制器,但在实践中,大多数开发人员使用控制器指他们两个。方法定义用户请求和该代码之间的映射路由配置。浏览器中显示的内容通常使用模板.
当你去http://localhost:8000/app/example
, ob娱乐下载Symfony将执行控制器src / AppBundle /控制器/ DefaultController.php
并渲染应用程序/资源/视图/ / index.html.twig违约
模板。
在下面的小节中,您将详细了解Symfony控制器、路由和模板的内部工作原理。ob娱乐下载
动作和控制器
打开src / AppBundle /控制器/ DefaultController.php
文件,您将看到以下代码(现在,不要查看@Route
配置,因为这将在下一节解释):
12 3 4 5 6 7 8 9 10 11 12 13 14 15
名称空间AppBundle\控制器;使用Sensio赞助\包\FrameworkExtraBundle\配置\路线;使用ob娱乐下载\包\FrameworkBundle\控制器\控制器;类DefaultController扩展控制器{/ * * *@Route("/", name="首页")*/公共函数indexAction(){返回$这->呈现(“违约/ index.html.twig”);}}
在Syob娱乐下载mfony应用程序中,控制器通常是PHP类,其名称以控制器
词。在本例中,控制器被调用默认的
PHP类被调用DefaultController
.
控制器中定义的方法被调用行动,它们通常与应用程序的一个URL相关联,并且它们的名称以行动
.在本例中,默认的
控制器只有一个被调用的动作指数
定义在indexAction ()
方法。
动作通常很短——大约10-15行代码——因为它们只调用应用程序的其他部分来获取或生成所需的信息,然后呈现一个模板向用户显示结果。
在本例中,指数
Action实际上是空的,因为它不需要调用任何其他方法。方法呈现模板主页。内容。
路由
ob娱乐下载Symfony通过将请求的URL与应用程序配置的路径相匹配,将每个请求路由到处理它的操作。再次打开src / AppBundle /控制器/ DefaultController.php
文件,并查看上面的三行代码indexAction ()
方法:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src / AppBundle /控制器/ DefaultController.php名称空间AppBundle\控制器;使用Sensio赞助\包\FrameworkExtraBundle\配置\路线;使用ob娱乐下载\包\FrameworkBundle\控制器\控制器;类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的主要特性之一,Symfony框架从不将特定的配置格式强加给您。ob娱乐下载
模板
唯一的内容指数
action是下面的PHP指令:
1
返回$这->呈现(“违约/ 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%}
该模板是用嫩枝,一个为现代PHP应用程序创建的模板引擎。的本教程的第二部分解释了模板在Symfony中的工作原理。ob娱乐下载
使用环境
现在您已经更好地理解了Symfony是如何工作的,下面仔细看看任何Symfony渲染页面的底部。ob娱乐下载您应该注意到一个带有Symfony标志的小栏。ob娱乐下载这就是“web调试工具栏”,它是Symfony开发人员最好的朋友!ob娱乐下载
但你最初看到的只是冰山一角;点击任何一个栏部分打开分析器,获得更多关于请求、查询参数、安全细节和数据库查询的详细信息:
该工具提供了大量关于应用程序的内部信息,您可能会担心访问者访问合理的信息。ob娱乐下载Symfony意识到了这个问题,因此,当您的应用程序在生产服务器上运行时,它不会显示这个栏。
Symfony如何ob娱乐下载知道您的应用程序是在本地运行还是在生产服务器上运行?的概念,请继续阅读执行环境.
什么是环境?
环境表示一组用于运行应用程序的配置。ob娱乐下载Symfony默认定义了两个环境:dev
(适合在本地开发应用程序)和刺激
(针对在生产环境中执行应用程序进行了优化)。
当你参观http://localhost:8000
URL,您将在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调试工具栏配置。
有关环境的详细信息,请参见“环境”部分的配置指南。