Symfony2开发之控制器用法实例分析

 更新时间:2016年2月12日 10:14  点击:1687

本文实例分析了Symfony2开发之控制器用法。分享给大家供大家参考,具体如下:

控制器是PHP函数,通过它,你可以根据HTTP请求创建任务信息,并且构建和返回HTTP响应。响应可以是HTML页面、XML文档、序列化的JSON数组、图片、重定向、404错误甚至是你可以想到的一切。控制器中包含了你应用程序需要创建响应的抽象逻辑。

接收请求,返回响应的基本生命周期

1、每个请求都被单个前端控制器(如app.php或index.php)文件处理,前端控制器负责引导框架;
2、路由查看并匹配请求信息,并将其指向一个特定的路由,该路由决定调用哪个控制器;
3、执行控制器,控制器中的代码将创建并返回一个Response对象;
4、HTTP头和Response对象的内容将发回客户端。

虽然名称相似,但前端控制器与我们在本章节所说的控制器是不同的,前端控制器是你web目录中的一个PHP小文件,所有的请求都直接经过它。一个典型的应用程序将有一个用于生产的前端控制器(如app.php)和一个用于开发的前端控制器(如app_dev.php)。你可以永远不需要对前端控制器进行编辑、查看和担心。

编写一个简单的控制器

前面一篇《Symfony学习十分钟入门经典教程》已经说了如何创建Bundle现在直接说怎样添加控制器。控制器是infoAction方法,它隶属于一个控制器类(UserController)。不要对名称感到困惑:控制器类只是简单将几个控制器集中在一起的。通常情况下,控制器类将放置多个控制器(如updateAction、deleteAction等)。

//Symfony2充分利用了PHP5.3的名称空间的功能去为整个控制器类命名空间
namespace ZM\ApiBundle\Controller;
//use关键字导入类,是控制器必须返回的
//出于方便的考虑,Symfony2提供了一个Controller基类,以帮助实现常用的一些控制器任务,你的控制器类能够访问所需的资源。通过继承该类,你可以利用其中的一些方法。
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
class UserController extends Controller {
  /**
   * 用户个人中心查看
   * @return Response
   */
  public function infoAction() {
    $conn = $this->getDoctrine()->getConnection();
    $request = Request::createFromGlobals()->request;
    $phone = $request->get('phone');
    $result = $conn->fetchAssoc("SELECT * FROM user WHERE phone = ? LIMIT 1", array($phone));
    //控制器创建并返回一个Response对象
    return new Response(json_encode($result), '200', array('Content-Type' => 'application/json'));
  }
}

本文永久地址:http://blog.it985.com/5916.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。

更多关于PHP框架相关内容感兴趣的读者可查看本站专题:《php优秀开发框架总结》,《codeigniter入门教程》,《CI(CodeIgniter)框架进阶教程》,《Yii框架入门及常用技巧总结》及《ThinkPHP入门教程》

希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。

[!--infotagslink--]

相关文章

  • Symfony2安装的方法(2种方法)

    这篇文章主要介绍了Symfony2安装的方法,较为详细的分析了2种安装方法与具体步骤,需要的朋友可以参考下...2016-02-09
  • AngularJS实现自定义指令与控制器数据交互的方法示例

    这篇文章主要介绍了AngularJS实现自定义指令与控制器数据交互的方法,结合具体实例形式分析了AngularJS自定义指令的实现以及与控制器数据交互的操作技巧,需要的朋友可以参考下...2017-06-24
  • Symfony2实现在doctrine中内置数据的方法

    这篇文章主要介绍了Symfony2实现在doctrine中内置数据的方法,结合实例形式分析了在doctrine中内置数据的具体步骤与相关技巧,需要的朋友可以参考下...2016-02-12
  • Symfony2使用第三方库Upload制作图片上传实例详解

    这篇文章主要介绍了Symfony2使用第三方库Upload制作图片上传的方法,结合实例形式较为详细的分析了Symfony2使用第三方库Upload的具体步骤与相关使用技巧,需要的朋友可以参考下...2016-02-09
  • Yii控制器中操作视图js的方法

    这篇文章主要介绍了Yii控制器中操作视图js的方法,结合实例形式总结分析了Yii框架动态操作视图中页面元素的相关技巧,需要的朋友可以参考下...2016-07-25
  • Symfony2函数用法实例分析

    这篇文章主要介绍了Symfony2函数用法,结合实例形式分析了Symfony函数的调用及数据库操作的相关技巧,需要的朋友可以参考下...2016-03-21
  • Codeigniter控制器controller继承问题实例分析

    这篇文章主要介绍了Codeigniter控制器controller继承问题,以简单实例形式分析了CodeIgniter中针对控制器controller继承的实现与使用方法,需要的朋友可以参考下...2016-01-21
  • Symfony2安装第三方Bundles实例详解

    这篇文章主要介绍了Symfony2安装第三方Bundles的方法,结合实例形式分析了Symfony2通过composer来安装Bundle的具体步骤与相关技巧,需要的朋友可以参考下...2016-02-09
  • Symfony2实现在controller中获取url的方法

    这篇文章主要介绍了Symfony2实现在controller中获取url的方法,实例分析了Symfony获取URL的常用方法与使用技巧,需要的朋友可以参考下...2016-03-21
  • Symfony2在Nginx下的配置方法图文教程

    这篇文章主要介绍了Symfony2在Nginx下的配置方法,结合图文形式较为详细的分析了Symfony2在Nginx下的配置方法与具体操作步骤,需要的朋友可以参考下...2016-02-09
  • Symfony2 session用法实例分析

    这篇文章主要介绍了Symfony2 session用法,结合实例形式分析了Symfony自带session方法的相关使用技巧,需要的朋友可以参考下...2016-02-09
  • Symfony2之session与cookie用法小结

    这篇文章主要介绍了Symfony2之session与cookie用法,结合实例形式总结分析了Symfony框架针对session与cookie的设置、获取及删除等操作的实现方法,需要的朋友可以参考下...2016-03-21
  • 完美解决在ThinkPHP控制器中命名空间的问题

    下面小编就为大家带来一篇完美解决在ThinkPHP控制器中命名空间的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-05-08
  • Symfony2开发之控制器用法实例分析

    这篇文章主要介绍了Symfony2开发之控制器用法,结合实例形式分析了Symfony2控制器的简单使用技巧,需要的朋友可以参考下...2016-02-12
  • Symfony2使用Doctrine进行数据库查询方法实例总结

    这篇文章主要介绍了Symfony2使用Doctrine进行数据库查询方法,结合实例形式总结分析了基于Doctrine的基本查询、DQL及查询生成器的基本实现方法,需要的朋友可以参考下...2016-03-21
  • Symfony2创建页面实例详解

    这篇文章主要介绍了Symfony2创建页面的方法,结合实例形式分析了Symfony页面创建的具体步骤与相关实现技巧,需要的朋友可以参考下...2016-03-21
  • AngularJS控制器详解及示例代码

    本文主要介绍AngularJS控制器,这里整理了控制器的相关资料和提供示例代码及实例效果图,有需要的小伙伴可以参考下...2016-08-24
  • CodeIgniter控制器之业务逻辑实例分析

    这篇文章主要介绍了CodeIgniter控制器之业务逻辑使用方法,结合实例形式分析了业务逻辑所涉及的相关概念与具体使用方法,需要的朋友可以参考下...2016-01-23
  • CodeIgniter自定义控制器MY_Controller用法分析

    这篇文章主要介绍了CodeIgniter自定义控制器MY_Controller用法,结合实例形式分析了CodeIgniter自定义控制器MY_Controller的定义与使用技巧,需要的朋友可以参考下...2016-01-23
  • Yii2创建控制器(createController)方法详解

    这篇文章主要介绍了Yii2创建控制器(createController)的方法,结合实例形式分析了Yii创建控制器所使用到的方法、操作步骤与相关技巧,需要的朋友可以参考下...2016-07-29