>백엔드 개발 >PHP 튜토리얼 >PHP에서 URL 라우팅을 위해 Yii 라우팅을 사용하는 방법은 무엇입니까?

PHP에서 URL 라우팅을 위해 Yii 라우팅을 사용하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-06-04 13:40:331129검색

웹 애플리케이션이 개발되면서 URL 라우팅이 핵심 개념이 되었고, 이를 통해 애플리케이션은 더욱 친숙하고 사용하기 쉬운 URL 구조를 갖게 되었습니다. PHP의 Yii 프레임워크와 같은 널리 사용되는 많은 웹 프레임워크는 애플리케이션의 URL을 더 잘 구성하고 관리하는 데 도움이 되는 라우팅 기능을 제공합니다.

Yii 프레임워크에서 라우팅은 HTTP 요청의 URL 주소를 특정 작업이나 컨트롤러 클래스에 매핑하는 작업을 의미합니다. 여기에서는 Yii 프레임워크를 사용하여 URL 라우팅을 구현하는 방법을 자세히 설명합니다.

라우팅 규칙

Yii 프레임워크에서 라우팅 규칙은 클라이언트가 요청한 URL 주소를 컨트롤러 클래스나 액션으로 변환하는 작업을 의미합니다. Yii 프레임워크는 배열로 구성된 라우팅 테이블을 통해 모든 라우팅 규칙을 관리하며, 각 배열 요소는 라우팅 규칙입니다.

Yii 프레임워크는 다음 유형을 포함하여 다양한 라우팅 규칙을 제공합니다.

  • 고정 라우팅 규칙: 고정 라우팅 규칙은 "/site/index"와 같은 특정 URL 주소를 지정하여 SiteController 클래스의 인덱스에 매핑됩니다. () 행동.
  • 동적 라우팅 규칙: 자리 표시자를 통해 URL 경로의 일부를 작업 매개변수로 동적으로 변환합니다. 예를 들어 "post/3493f3358a126a26f38915ea72d0923c"는 PostController 클래스의 view() 작업에 매핑됩니다.
  • 정규식 라우팅 규칙: 정규식을 사용하여 URL을 일치시키는 경로로, 이를 통해 URL을 더욱 유연하고 구성할 수 있습니다. 예를 들어 "/6c899c21d634eccd10b797fe3680796f"의 길이는 ID 값입니다.
  • RESTful 라우팅 규칙: RESTful 스타일 URL 라우팅을 기반으로 간단한 URL 주소를 복잡한 작업으로 변환할 수 있습니다. 예를 들어 "POST /post"는 PostController 클래스의 create() 작업에 매핑됩니다.

라우팅 규칙 만들기

Yii에서는 라우팅 규칙을 작성하여 URL 주소를 컨트롤러 작업이나 작업으로 변환할 수 있습니다. 라우팅 규칙을 만드는 방법은 비교적 간단하며 라우팅 테이블에 추가해야 합니다. 다음은 "/site/index"를 SiteController 클래스의 index() 작업으로 라우팅하는 예입니다.

[
    'site/index' => 'site/index',
]

이 예에서는 "/site/index"에 대한 요청이 호출되도록 고정된 라우팅 규칙을 정의합니다. 클래스의 SiteController index() 작업.

동적 라우팅 규칙

동적 라우팅 규칙을 사용하면 URL 경로의 일부를 작업 매개변수로 변환할 수 있습니다. 예를 들어 "post/3493f3358a126a26f38915ea72d0923c"는 URL의 ID 매개변수를 PostController 클래스의 view() 작업에 매핑합니다. 잘못된 요청을 필터링하기 위해 라우팅 테이블에 특정 매개변수 형식을 지정할 수 있습니다.

다음은 동적 라우팅 규칙을 사용하는 예입니다.

[
    'post/<id:d+>' => 'post/view',
]

이 예에서는 동적 라우팅 규칙을 정의합니다. 즉, URL의 "id" 매개변수가 추출되어 PostController 클래스의 view()에 전달됩니다. 방법으로. 이 예에서 "3493f3358a126a26f38915ea72d0923c"는 하나 이상의 숫자와 일치하는 정규식을 지정합니다.

정규식 라우팅 규칙

Yii 프레임워크에서는 정규식을 사용하여 특정 URL 주소와 더 정확하게 일치하도록 URL을 일치시킬 수 있습니다. 예를 들어 "/" 라우팅 규칙을 사용하여 길이가 3자인 모든 ID 요청을 특정 처리 작업으로 라우팅할 수 있습니다.

다음은 정규식 라우팅 규칙을 사용하는 예입니다.

[
    '/<id:w{3}>' => 'site/page',
]

이 예에서 "/425b3eb620b5a26c10f58336f0e9ea6a" 라우팅 규칙은 임의의 단어 문자 길이로 구성된 세 개의 문자열과 일치하며 다음으로 라우팅됩니다. SiteController의 page() 메소드. 정규식 라우팅 규칙을 사용하면 보다 유연하고 사용자 정의 가능한 방식으로 애플리케이션의 URL 구조를 관리하고 구성할 수 있습니다.

RESTful 라우팅 규칙

Yii 프레임워크에서 RESTful 라우팅 규칙을 사용하면 일련의 빠른 라우팅 규칙을 사용하여 복잡한 URL 구조 및 작업 요청을 처리할 수 있습니다. RESTful 라우팅 규칙을 사용하면 표준 작업을 URL 기반 요청에 매핑하고 애플리케이션을 효율적으로 관리할 수 있습니다.

다음은 RESTful 라우팅 규칙을 사용하는 예입니다.

[
   'POST /post' => 'post/create',
   'GET /post/<id:d+>' => 'post/view',
   'PUT /post/<id:d+>' => 'post/update',
   'DELETE /post/<id:d+>' => 'post/delete',
];

이 예에서 "POST /post" 라우팅 규칙은 PostController의 create() 메서드에 매핑됩니다. "GET /post/3493f3358a126a26f38915ea72d0923c"는 PostController의 view() 메소드에서 사용되는 ID 매개변수와 일치합니다. 마찬가지로, "PUT /post/3493f3358a126a26f38915ea72d0923c"는 PostController 클래스의 update() 메소드로 라우팅되고, "DELETE /post/3493f3358a126a26f38915ea72d0923c"는 삭제로 라우팅됩니다. PostController 클래스 () 메소드에서.

결론

Yii 프레임워크에서 라우팅은 URL을 특정 작업이나 컨트롤러 클래스에 매핑하는 메커니즘을 제공하므로 고성능 애플리케이션을 구축하기 위한 핵심 요소 중 하나입니다. 라우팅 규칙을 사용하면 URL을 더 쉽게 읽을 수 있고 유지 관리할 수 있으며 애플리케이션을 더 잘 관리하고 구성할 수 있습니다. Yii 프레임워크를 실제로 사용할 때 애플리케이션의 필요에 따라 다양한 유형의 라우팅 규칙을 선택하여 애플리케이션과 URL 구조의 무결성과 신뢰성을 보장할 수 있습니다.

위 내용은 PHP에서 URL 라우팅을 위해 Yii 라우팅을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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