백엔드 개발 PHP 튜토리얼 Symfony2开发之控制器用法实例分析_PHP

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

May 27, 2016 am 10:37 AM
제어 장치

本文实例分析了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程序设计有所帮助。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 11에서 Xbox One 컨트롤러를 올바르게 보정하는 방법 Windows 11에서 Xbox One 컨트롤러를 올바르게 보정하는 방법 Sep 21, 2023 pm 09:09 PM

Windows 11에서 Xbox One 컨트롤러를 올바르게 보정하는 방법

Laravel을 처음부터 학습하기: 컨트롤러 메소드 호출에 대한 자세한 설명 Laravel을 처음부터 학습하기: 컨트롤러 메소드 호출에 대한 자세한 설명 Mar 10, 2024 pm 05:03 PM

Laravel을 처음부터 학습하기: 컨트롤러 메소드 호출에 대한 자세한 설명

라라벨 컨트롤러란? 라라벨 컨트롤러란? Jan 14, 2023 am 11:16 AM

라라벨 컨트롤러란?

PHP에서 CodeIgniter4 프레임워크를 사용하는 방법은 무엇입니까? PHP에서 CodeIgniter4 프레임워크를 사용하는 방법은 무엇입니까? May 31, 2023 pm 02:51 PM

PHP에서 CodeIgniter4 프레임워크를 사용하는 방법은 무엇입니까?

Laravel 학습 가이드: 컨트롤러 메소드 호출 모범 사례 Laravel 학습 가이드: 컨트롤러 메소드 호출 모범 사례 Mar 11, 2024 am 08:27 AM

Laravel 학습 가이드: 컨트롤러 메소드 호출 모범 사례

컨트롤러를 사용하여 Yii 프레임워크에서 파일 업로드 및 다운로드를 처리하는 방법 컨트롤러를 사용하여 Yii 프레임워크에서 파일 업로드 및 다운로드를 처리하는 방법 Jul 30, 2023 pm 12:25 PM

컨트롤러를 사용하여 Yii 프레임워크에서 파일 업로드 및 다운로드를 처리하는 방법

컨트롤러를 사용하여 Yii 프레임워크에서 Ajax 요청을 처리하는 방법 컨트롤러를 사용하여 Yii 프레임워크에서 Ajax 요청을 처리하는 방법 Jul 28, 2023 pm 07:37 PM

컨트롤러를 사용하여 Yii 프레임워크에서 Ajax 요청을 처리하는 방법

win10 이더넷 컨트롤러의 느낌표로 인해 인터넷에 접속할 수 없는 문제를 해결하는 솔루션 win10 이더넷 컨트롤러의 느낌표로 인해 인터넷에 접속할 수 없는 문제를 해결하는 솔루션 Dec 23, 2023 pm 04:04 PM

win10 이더넷 컨트롤러의 느낌표로 인해 인터넷에 접속할 수 없는 문제를 해결하는 솔루션

See all articles