本文实例讲述了Symfony2创建页面的方法。分享给大家供大家参考,具体如下:
在Symfony2中创建页面只需要两步:
1、创建路由:路由定义你页面的URI(如/about)并指定要执行的控制器(PHP函数)。当传入的请求URL匹配该路由时,Symfony2将执行指定的控制器;
2、创建控制器:控制器是一个PHP函数,它接受传入的请求并将其转换成Symfony2的Response对象。
我们喜欢这样简单的实现,因为它符合Web的工作方式。每一个Web交互都是由HTTP请求开始,应用程序的任务就是简单地解释请求并返回相应的HTTP响应。Symfony2遵循这一原则,并为你提供工具,以保证在应用程序的用户和复杂性增长时仍保持良好地组织性。
“Hello Symfony2” 页
让我们从经典的“hello,world”程序开始,当我们完成后,用户可以通过访问下列URL来得到一声问候:
http://localhost/app_dev.php/hello/Symfony
其实,你可以将Symfony换成其它的名称来问候,要创建该页,我们只需简单地通过两个步骤来进行:
本教程已经假定你下载了Symfony2,并且配置好了Web服务器。上述URL假设localhost指向你新的Symfony2项目。安装详情参见安装Symfony2。
创建Bundle
在开始之前,你需要创建一个Bundle。在Symfony2中,Bundle相当于插件,你应用程序中的所有代码都需要放在Bundle中。Bundle只是一个目录(拥有PHP的名称空间),里面的内容都与某个特定功能相关(参见Bundle系统)。运行下列命令,创建AcmeStudyBundle(本章所建的游戏之作)。
php app/console Acme/StudyBundle[/]
接下来,在app/autoloader.php文件中添加了以下语句,以确保Acme名字空间被引导(参见自动加载章节):
$loader->registerNamespaces(array( 'Acme' => __DIR__.'/../src', // ...));
最后在app/AppKernel.php文件的registerBundles()方法中初始化Bundle。
// app/AppKernel.phppublic function registerBundles(){ $bundles = array( // ... new Acme/StudyBundle/AcmeStudyBundle(), ); // ... return $bundles;}
现在你已经设置好你的Bundle,并可以在你Bundle中构建你的应用程序了。
创建路由
缺省状态下,Symfony2的路由配置文件放置在app/config/routing.yml目录中。在Symfony2中所有的配置文件也可以采用PHP或XML格式编写。
# app/config/routing.ymlhomepage: pattern: / defaults: { _controller: FrameworkBundle:Default:index }hello: resource: "@AcmeStudyBundle/Resources/config/routing.yml"
路由配置文件的前几行定义了用户请求”/”(首页)资源所调用的代码,更有趣的是最后一部分,它导入了位于AcmeStudyBundle中的其它路由配置文件。
新闻热点
疑难解答