Symfony2에서 개발한 컨트롤러 사용 사례 분석

WBOY
풀어 주다: 2016-07-29 09:03:54
원래의
768명이 탐색했습니다.

본 글은 Symfony2로 개발된 컨트롤러의 활용을 예시를 통해 분석한 것입니다. 다음과 같이 참조할 수 있도록 모든 사람과 공유하세요.

컨트롤러는 PHP 함수로, 이를 통해 HTTP 요청을 기반으로 작업 정보를 생성하고 HTTP 응답을 빌드 및 반환할 수 있습니다. 응답은 HTML 페이지, XML 문서, 직렬화된 JSON 배열, 이미지, 리디렉션, 404 오류 또는 생각할 수 있는 모든 것일 수 있습니다. 컨트롤러에는 애플리케이션이 응답을 생성하는 데 필요한 추상 논리가 포함되어 있습니다.

요청 수신 및 응답의 기본 수명 주기 반환

1. 각 요청은 단일 프런트엔드 컨트롤러(예: app.php 또는 index.php) 파일에 의해 처리됩니다. 프론트 엔드 컨트롤러는 프레임워크를 안내하는 역할을 담당합니다.
2. 경로는 요청 정보를 확인하고 이를 특정 경로로 지정하여 호출할 컨트롤러를 결정합니다.
3. 컨트롤러의 코드는 응답 개체를 생성하고 반환합니다.
4. HTTP 헤더와 응답 개체의 내용이 클라이언트로 다시 전송됩니다.

이름은 비슷하지만 프런트엔드 컨트롤러는 이 장에서 설명하는 컨트롤러와 다릅니다. 프런트엔드 컨트롤러는 웹 디렉터리에 있는 작은 PHP 파일이며 모든 요청이 직접 전달됩니다. 그것을 통해. 일반적인 애플리케이션에는 프로덕션용 전면 컨트롤러(예: app.php)와 개발용 전면 컨트롤러(예: app_dev.php)가 있습니다. 전면 컨트롤러를 편집하거나 보거나 걱정할 필요가 없습니다.

간단한 컨트롤러 작성

이전 글 "10분 안에 Symfony를 배우기 위한 고전 튜토리얼"에서 이미 Bundle을 생성하는 방법에 대해 설명했으며 이제 직접 추가하는 방법에 대해 설명하겠습니다. 제어 장치. 컨트롤러는 컨트롤러 클래스(UserController)에 속하는 infoAction 메서드입니다. 이름 때문에 혼동하지 마십시오. 컨트롤러 클래스는 단순히 여러 컨트롤러를 함께 그룹화하는 것입니다. 일반적으로 컨트롤러 클래스는 여러 컨트롤러(예: 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 프로그래밍에 도움이 되기를 바랍니다.

이상은 Symfony2에서 개발한 컨트롤러 사용 사례 분석을 다양한 측면에서 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿