Symfony2의 sensioframeworkextrabundle을 사용하면 개발자가 주석을 사용하여 컨트롤러에서 직접 구성을 라우팅 할 수 있으므로 편리한 대안을 제공합니다.
Symfony2의 라우팅 주석은 라우팅 구성을보다 모듈화하게 만들고 각 경로는 해당 컨트롤러 작업에서 직접 정의되어 코드를 이해하고 유지 관리하기가 더 쉽습니다.경로를 의 작업에 연결합니다.
주석 메소드 없음
routing.yml
in app > config > routing.yml
:
in :
in 에서, 우리는 두 가지 매개 변수로 간단한라우팅 구성을 선언합니다 : 경로와 컨트롤러 작업이 위치합니다. 컨트롤러 자체에는 특별한 설정이 필요하지 않습니다. 주석을 사용하여
in :
/
HomeController
in
센터 : in :
in :
in :
변경 사항이 필요하지 않습니다. 이제 라우팅 모드에서 어떤 작동이 호출되는지 알 수 있습니다. in :
3 단계 : 추가 라우팅 구성
화학 : . 는이 경로와 일치하며 매개 변수의 값은 로 설정됩니다. url 요구 사항 추가
화학 : .
이 경우 HTTPS 프로토콜을 통해 경로에 액세스 할 수 있도록하려고합니다.
화학 : .
4 단계 : 연습
키의 요구 사항을 숫자로만 정의합니다
최종 생각
type
prefix
주석 메소드 없음 use SensioBundleFrameworkExtraBundleConfigurationRoute;
:
@Route("/", name="blog_homepage")
app/config/routing.yml
<code class="language-yaml">blog_front_homepage:
path : /
defaults: { _controller: BlogFrontBundle:Home:index }</code>
를 추가 할 수 있습니다. >
src/Blog/FrontBundle/Controller/HomeController.php
:
<code class="language-php"><?php namespace Blog\FrontBundle\Controller;
class HomeController
{
public function indexAction()
{
//... 创建并返回一个 Response 对象
}
}</code>
in app/config/routing.yml
<code class="language-yaml">blog_front:
resource: "@BlogFrontBundle/Controller/"
type: annotation
prefix: /</code>
를 추가하여 더 이상 자리 표시자가 필요하지 않습니다. url src/Blog/FrontBundle/Controller/HomeController.php
도 일치하고 <code class="language-php"><?php
namespace Blog\FrontBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class HomeController
{
/**
* @Route("/", name="blog_home_index")
*/
public function indexAction() { /* ... */ }
}</code>
routing.yml
/admin
routing.yml
키에 대한 요구 사항을 정의 할 수 있으며 prefix
의 값을 명확하게 정의하면 알파벳 문자 만 구성되어야합니다. 다음 예에서는 숫자와 똑같은 일을합니다.
@Route
Enforce Http 메소드 <code class="language-yaml">blog_front_homepage:
path : /
defaults: { _controller: BlogFrontBundle:Home:index }</code>
schemes = { "protocol" }
<code class="language-php"><?php namespace Blog\FrontBundle\Controller;
class HomeController
{
public function indexAction()
{
//... 创建并返回一个 Response 对象
}
}</code>
인 경우에만 일치합니다. host = "myhost.com"
<code class="language-yaml">blog_front:
resource: "@BlogFrontBundle/Controller/"
type: annotation
prefix: /</code>
myblog.com
위 내용은 Symfony2 경로 주석으로 시작합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!