Symfony2创建页面实例详解
本篇章节讲解Symfony2创建页面的方法。分享给大家供大家参考,具体如下: 在Symfony2中创建页面只需要两步: 1、创建路由:路由定义你页面的URI(如/about)并指定要执行的控制器(PHP函数)。当传入的请求URL匹配该路由时,Symfony2将执行指定的控制器;2、创建控制器:控制器是一个PHP函数,它接受传入的请求并将其转换成Symfony2的Response对象。我们喜欢这样简单的实现,因为它符合Web的工作方式。每一个Web交互都是由HTTP请求开始,应用程序的任务就是简单地解释请求并返回相应的HTTP响应。Symfony2遵循这一原则,并为你提供工具,以保证在应用程序的用户和复杂性增长时仍保持良好地组织性。 “Hello Symfony2” 页让我们从经典的“hello,world”程序开始,当我们完成后,用户可以通过访问下列URL来得到一声问候: 其实,你可以将Symfony换成其它的名称来问候,要创建该页,我们只需简单地通过两个步骤来进行: 本教程已经假定你下载了Symfony2,并且配置好了Web服务器。上述URL假设localhost指向你新的Symfony2项目。安装详情参见安装Symfony2。 创建Bundle在开始之前,你需要创建一个Bundle。在Symfony2中,Bundle相当于插件,你应用程序中的所有代码都需要放在Bundle中。Bundle只是一个目录(拥有PHP的名称空间),里面的内容都与某个特定功能相关(参见Bundle系统)。运行下列命令,创建AcmeStudyBundle(本章所建的游戏之作)。 接下来,在app/autoloader.php文件中添加了以下语句,以确保Acme名字空间被引导(参见自动加载章节): registerNamespaces(array(
'Acme' => __DIR__.'/../src',// ...
));
最后在app/AppKernel.php文件的registerBundles()方法中初始化Bundle。 现在你已经设置好你的Bundle,并可以在你Bundle中构建你的应用程序了。 创建路由缺省状态下,Symfony2的路由配置文件放置在app/config/routing.yml目录中。在Symfony2中所有的配置文件也可以采用PHP或XML格式编写。 路由配置文件的前几行定义了用户请求”/”(首页)资源所调用的代码,更有趣的是最后一部分,它导入了位于AcmeStudyBundle中的其它路由配置文件。 路由由两个基本部分组成,pattern(模式)确定哪个URI匹配本路由,defaults数组指定要运行的控制器。在pattern中的占位符{name}是个通配符,它表示诸如/hello/Ryan,/hello/Fabien或其他相似的URI匹配该路由。{name}占位参数也被发送到控制器,以便我们可以使用它的值去问候用户。 路由系统在创建应用程序强大、灵活的URL结构方面有着许多令人惊叹的功能,详情请参见《》 创建控制器当象/hello/Ryan这样的URI被应用程序处理时,hello路由被匹配,并且AcmeStudyBundle:Hello:index控制器通过Symfony2框架被执行。创建页面过程的第二步就是创建这个控制器 实际上控制器也不过是由你创建并通过Symfony2执行的PHP函数,这个定制的应用程序代码使用请求信息去构建和准备所需资源。除了一些高级案例外,控制器最终的输出都是相同的:一个Response对象。 Hello '.$name.'! |