大局
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.2,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
大局
在10分钟内开始使用Sy欧宝娱乐app下载地址mfony !真的!这些都是你需要了解的最重要的概念和建立一个真正的项目!
如果你使用一个web框架之前,你应该感到在家Symfony。欧宝娱乐app下载地址如果不是,欢迎来到一个全新的开发web应用程序的方式。欧宝娱乐app下载地址Symfony拥抱最佳实践,保持向后兼容(是的!升级总是安全&简单!)并提供长期支持。
下载Symfony欧宝娱乐app下载地址
首先,确保您已经安装作曲家PHP 7.1.3或更高。
准备好了吗?在一个终端,运行:
1
美元quick_tour作曲家创建项目/ symfo欧宝娱乐app下载地址ny框架
这将创建一个新的quick_tour /
与一个小目录,但强大的新的Symfony应用程序:欧宝娱乐app下载地址
1 2 3 4 5 6 7 8 9 10 11
quick_tour /├─.env├─bin /控制台├─作曲家。json├─作曲家。锁├─配置/├─公共/索引。php├─src /├─sym欧宝娱乐app下载地址fony。锁├─var /└─供应商/
我们已经在浏览器中加载项目吗?是的!你可以设置Nginx或Apache和配置他们的文档根公共/
目录中。但是,发展,最好安装Symfony本地w欧宝娱乐app下载地址eb服务器并运行它,如下所示:
1
美元欧宝娱乐app下载地址symfony服务器:启动
试试你的新应用程序通过http://localhost: 8000
在浏览器!
基本面:路线,控制器,响应
我们的项目只有15个文件,但它是准备成为一个光滑的API,一个健壮的web应用程序,或者microservice。欧宝娱乐app下载地址Symfony开始很小,但尺度。
但是在我们走得太远之前,让我们深入的基本面建筑第一页。
开始于配置/ routes.yaml
:这是哪里我们可以定义新的页面的URL。取消已经住在文件的例子:
1 2 3 4
#配置/ routes.yaml指数:路径:/控制器:“应用程序控制器\ \ DefaultController:指数”
这被称为路线:它定义了页面的URL (/
)和“控制器”:函数这将被称为每当有人去这个URL。这个函数不存在,所以让我们创建它!
在src /控制器
,创建一个新的DefaultController
类和一个指数
方法内部:
1 2 3 4 5 6 7 8 9 10 11 12
/ / src /控制器/ DefaultController.php名称空间应用程序\控制器;使用欧宝娱乐app下载地址\组件\HttpFoundation\响应;类DefaultController{公共函数指数(){返回新响应(“你好!”);}}
就是这样!试着去主页:http://localhost: 8000 /
。欧宝娱乐app下载地址Symfony看到的URL匹配我们的路线,然后执行index ()
方法。
一个控制器只是一个正常的函数一个规则:它必须返回一个Symfony欧宝娱乐app下载地址响应
对象。但这种反应可以包含任何:简单的文本,JSON或一个完整的HTML页面。
但是路由系统多更强大。让我们使路线更有趣:
1 2 3 4 5
#配置/ routes.yaml指数:-路径:/+路径:/ hello /{名称}控制器:控制器应用\ \ DefaultController:指数”
这个页面的URL改变:现在/ hello / *
:{名称}
就像一个通配符匹配。而且它变得更好!更新控制器:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/ / src /控制器/ DefaultController.php名称空间应用程序\控制器;组件使用欧宝娱乐app下载地址Symfony \ \ HttpFoundation \反应;类DefaultController {公共函数指数()+公共函数指数(名称){——返回新的反应(“你好!”);+返回新的响应(“Hello $名字!”);}}
要尝试页面http://localhost: 8000 / hel欧宝娱乐app下载地址lo / Symfony
。您应该看到:你好Symfony !欧宝娱乐app下载地址的值{名称}
在URL作为可用美元的名字
在你的控制器参数。
但这可以更简单!所以我们安装注释支持:
1
美元作曲家需要注释
现在,通过添加的注释掉YAML的路线#
性格:
1 2 3 4
#配置/ routes.yaml#指数:#路径:/ hello /{名称}#控制器:“App \控制器\ DefaultController:指数”
相反,添加路线正上方控制器方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src /控制器/ DefaultController.php名称空间应用程序\控制器;组件使用欧宝娱乐app下载地址Symfony \ \ HttpFoundation \反应;+使用Sym欧宝娱乐app下载地址fony \组件\路由\注释\路线;类DefaultController {+ / * *+ * @Route (“/ hello /{名称}”)+ * /公共函数指数(美元名称){/ /……}}
这个作品就像之前!但是通过使用注释,路线和控制器住挨着。需要另一个页面吗?添加另一个路线和方法DefaultController
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/ / src /控制器/ DefaultController.php名称空间应用程序\控制器;使用欧宝娱乐app下载地址\组件\HttpFoundation\响应;使用欧宝娱乐app下载地址\组件\路由\注释\路线;类DefaultController{/ /……/ * * *@Route简单(“/”)* /公共函数简单的(){返回新响应(“简单!”简单!太好了!”);}}
路由可以做甚至更多,但我们会保存为另一个时间!现在,我们的应用程序需要更多的功能!像一个模板引擎、日志记录、调试工具等等。
保持阅读Flex:应用程序组成。