大局
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.6,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.3(当前的稳定版本)。
大局
在10分钟内开始使用Sy欧宝娱乐app下载地址mfony !本章将指导您完成Symfony背后最重要的概念并解释如何开始快速地向您展示一个简单的项目。欧宝娱乐app下载地址
如果你使用一个web框架之前,你应该感到在家Symfony。欧宝娱乐app下载地址如果不是,欢迎来到一个全新的开发web应用程序的方式。
唯一的技术必需的跟随本教程PHP 5.4或更高版本安装在你的电脑上。如果你使用一个打包的PHP解决方案如里面XAMP或MAMP,看看他们使用PHP 5.4或最近的一个版本。您还可以执行以下命令在您的终端或命令控制台显示安装的PHP版本:
1
php——美元版本
安装Symfony欧宝娱乐app下载地址
在过去,必须安装Symfo欧宝娱乐app下载地址ny手动为每个新项目。现在你可以使用欧宝娱乐app下载地址Symfony安装程序第一次安装,你在电脑上使用Symfony。欧宝娱乐app下载地址
在Linux和Mac OS X系统中,执行以下控制台命令:
1 2 3
美元curl http://symfo欧宝娱乐app下载地址ny.com/installer > symfony lss。phar $ sudo mv 欧宝娱乐app下载地址symfony。phar /usr/当地的/bin/欧宝娱乐app下载地址symfony chmod + x /usr/美元当地的/bin/欧宝娱乐app下载地址symfony
安装Symfony安装程序后,你必须打开一欧宝娱乐app下载地址个新的控制台窗口能够执行欧宝娱乐app下载地址
命令:
1
sy欧宝娱乐app下载地址mfony美元
在窗户系统,执行下面的控制台命令:
1
c: \ php - r >“readfile (“http:/欧宝娱乐app下载地址/www.oldmanjams.com/installer”);“> 欧宝娱乐app下载地址symfony.phar
这个命令下载一个文件欧宝娱乐app下载地址symfony.phar
其中包含Symfony安装程序。欧宝娱乐app下载地址保存或移动文件的目录创建Symfony项目,然后马上执行Symfony安装程序使用这个命令:欧宝娱乐app下载地址
1
c: \ php 欧宝娱乐app下载地址symfony.phar >
创建您的第一个Symfony项目欧宝娱乐app下载地址
一旦Symfony欧宝娱乐app下载地址安装程序设置,使用新
命令创建新的Symfony项目。欧宝娱乐app下载地址让我们创建一个新项目myproject
:
1 2 3 4 5
# Linux和Mac OS Xsy欧宝娱乐app下载地址mfony新的美元。#窗口c: \ php 欧宝娱乐app下载地址symfony.phar >新myproject
这个命令下载最新的Symfony稳定版本,创建一个空项目欧宝娱乐app下载地址myproject的/
目录你可以马上开始开发您的应用程序。
运行Symfon欧宝娱乐app下载地址y
本教程使用PHP运行Symfony提供的内部web服务器应用程序。欧宝娱乐app下载地址因此,运行Symfony应用程序是一种浏览欧宝娱乐app下载地址项目目录并执行这个命令:
1 2
美元cdmyproject / $ php应用程序/控制台服务器:运行
打开你的浏览器,访问http://localhost: 8000 / app /例子
看到Symfony的欢迎页面网址:欧宝娱乐app下载地址
恭喜你!你的第一个Symfon欧宝娱乐app下载地址y项目已经启动并运行!
请注意
而不是欢迎页面,您可能会看到一个空白页或一个错误页面。这是由于一个目录权限错误配置。有几种可能的解决方案取决于您的操作系统。他们所有的人都在解释道设置权限部分官员的书。
如果欢迎页面似乎并没有呈现CSS或图像资产、安装:
1
php应用程序/控制台美元资产:安装
Symfony应用程序,当你完成工作,你可以按下Ctrl C就停止服务器。欧宝娱乐app下载地址
提示
如果你喜欢传统的web服务器,比如Apache或Nginx,阅读配置一个Web服务器篇文章。
理解基本原理
一个框架的主要目标之一是保持代码组织,并允许您的应用程序很容易随着时间的发展,避免数据库调用的混合,HTML标记和其他PHP代码相同的脚本。用Symfony实现这一目标,首先你需要学习一些基本欧宝娱乐app下载地址概念。
开发一个Symfony应用程序时,你欧宝娱乐app下载地址的责任作为一个开发人员编写的代码映射用户的请求(如。http://localhost: 8000 / app /例子
)资源与它相关联的(主页
HTML页面)。
定义要执行的代码行动和控制器。用户的请求和代码之间的映射是通过定义的路由配置。和在浏览器中显示的内容通常是使用模板。
当你浏览http://localhost: 8000 / app /例子
早些时候,Symf欧宝娱乐app下载地址ony中定义的控制器执行src / AppBundle /控制器/ DefaultController.php
文件并呈现应用程序/资源/视图/ / index.html.twig违约
模板。在以下几节中,您将了解详细的内部运作Symfony控制器,路线和模板。欧宝娱乐app下载地址
行动和控制器
打开src / AppBundle /控制器/ DefaultController.php
文件,你会看到下面的代码(现在,不要看@Route
配置,因为这将在下一节中解释):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
名称空间AppBundle\控制器;使用Sensio赞助\包\FrameworkExtraBundle\配置\路线;使用欧宝娱乐app下载地址\包\FrameworkBundle\控制器\控制器;类DefaultController扩展控制器{/ * * *@Route(name = " / app /例子”“主页”)* /公共函数indexAction(){返回美元这- >呈现(“违约/ index.html.twig”);}}
在Sy欧宝娱乐app下载地址mfony应用程序中,控制器通常是PHP类后缀的是谁的名字控制器
词。在这个示例中,调用控制器默认的
和PHP类DefaultController
。
在一个控制器称为定义的方法行动,他们通常与一个应用程序的URL相关联,他们的名字是后缀为行动
。在这个例子中,默认的
控制器只有一个动作指数
和定义indexAction
方法。
行动通常是很短的,重量在10 - 15行代码,因为他们只是调用应用程序的其他部分获取或生成所需的信息,然后提供一个模板向用户显示结果。
在这个例子中,指数
行动几乎是空的,因为它不需要调用任何其他方法。的行动只是呈现一个模板主页。内容。
路由
欧宝娱乐app下载地址Symfony的行动路线每个请求处理通过匹配请求的URL路径配置应用程序。重新开放的src / AppBundle /控制器/ DefaultController.php
文件,看看上面的三行代码indexAction
方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src / AppBundle /控制器/ DefaultController.php名称空间AppBundle\控制器;使用Sensio赞助\包\FrameworkExtraBundle\配置\路线;使用欧宝娱乐app下载地址\包\FrameworkBundle\控制器\控制器;类DefaultController扩展控制器{/ * * *@Route(name = " / app /例子”“主页”)* /公共函数indexAction(){返回美元这- >呈现(“违约/ index.html.twig”);}}
通过这三个行定义路由配置@Route ()
注释。一个PHP注释是一种方便的方式来配置方法,而不必编写PHP代码。注意,注释块/ * *
,而常规PHP的评论/ *
。
第一个值的@Route ()
定义了URL,将触发动作的执行。当你不需要添加主机应用程序的URL(例如。“http://example.com
),这些url总是相对的,他们通常叫做路径。在这种情况下,/应用程序/例子
路径指的是应用程序的主页。第二个值@Route ()
(如。name = "主页"
)是可选的,这条路的名字。现在不需要这个名字,但后来它会有用的链接页面。
考虑这一切,@Route (“/ app /例子”,name = "主页")
注释创建了一个新的途径主页
这使得Symfony执行欧宝娱乐app下载地址指数
行动的默认的
控制器当用户浏览/应用程序/例子
应用程序的路径。
提示
除了PHP注释,路线可以配置在YAML, XML或PHP文件,作为解释Symfony的路由章书欧宝娱乐app下载地址。这种灵活性是Symfony的主要特色之一,一个框架,从不把一个特定的配置格式强加给你。欧宝娱乐app下载地址
模板
唯一的内容指数
行动是PHP指令:
1
返回美元这- >呈现(“违约/ index.html.twig”);
的$ this - >渲染()
方法是一种方便的快捷方式来呈现一个模板。欧宝娱乐app下载地址Symfony提供了一些有用的快捷键从任何控制器控制器
类。
存储在默认情况下,应用程序模板应用程序/资源/视图/
目录中。因此,默认的/ index.html.twig
模板对应应用程序/资源/视图/ / index.html.twig违约
。打开该文件,您将看到以下代码:
1 2 3 4 5 6
{# app /资源/视图/违约/ index . html。树枝#}{%扩展“base.html。嫩枝' %}{%块身体%}主页。{%endblock%}
这个模板创建嫩枝新创建的模板引擎,现代的PHP应用程序。的本教程的第二部分将介绍如何在Symfony模板工作。欧宝娱乐app下载地址
处理环境中
现在,您已经有了一个更好的理解Symfony是如何工作的,仔细看看任何Symfony呈现页面的底欧宝娱乐app下载地址部。你应该注意到一个小酒吧,Symfony的标志。欧宝娱乐app下载地址这是“web调试工具栏”,这是一个Symfony开发人员最好的朋友!欧宝娱乐app下载地址
但你看到最初只是冰山一角;点击任何酒吧的部分打开分析器和得到更多的详细信息请求,查询参数,安全细节和数据库查询:
这个工具提供了如此多的内部应用程序的信息,你可能会担心你的访客访问的信息。欧宝娱乐app下载地址Symfony是意识到这个问题,因为这个原因,它不会显示这个酒吧当你的应用程序运行在生产服务器上。
Symfony如何欧宝娱乐app下载地址知道您的应用程序是否运行在本地或在生产服务器上吗?继续阅读发现的概念执行环境。
什么是环境?
一个环境代表一组用于运行应用程序的配置。欧宝娱乐app下载地址Symfony定义了默认两个环境:dev
(适合当开发本地应用程序)刺激
(在执行应用程序时生产优化)。
当你参观http://localhost: 8000
URL在您的浏览器中,你执行Symfony应用程序中欧宝娱乐app下载地址dev
环境。访问您的应用程序中刺激
环境,参观http://localhost: 8000 / app.php
URL。如果你喜欢总是显示dev
环境的URL,您可以访问http://localhost: 8000 / app_dev.php
URL。
环境之间的主要区别dev
优化开发人员提供大量的信息,这意味着糟糕的应用程序的性能。与此同时,刺激
优化获得最佳性能,这意味着禁用调试信息,以及web调试工具栏。
另一个环境之间的差异是配置选项用于执行应用程序。当你访问dev
环境,Symfony加载欧宝娱乐app下载地址应用程序/配置/ config_dev.yml
配置文件。当你访问刺激
环境,Symfony加载欧宝娱乐app下载地址应用程序/配置/ 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调试工具栏配置有自己的选择。
对于更多细节环境,看到“环境与前端控制器”文章。