首页 > 开发 > Php > 正文

Symfony2创建页面实例详解

2020-02-21 20:47:30
字体:
来源:转载
供稿:网友

本文实例讲述了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中的其它路由配置文件。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表