>  기사  >  PHP 프레임워크  >  Yii 프레임워크의 라우팅: URL 미화 구현

Yii 프레임워크의 라우팅: URL 미화 구현

王林
王林원래의
2023-06-21 15:33:20828검색

Yii 프레임워크는 MVC 디자인 패턴을 기반으로 하는 오픈 소스 고성능 웹 애플리케이션 개발 프레임워크로 개발자가 확장 가능한 웹 애플리케이션을 빠르게 구축하는 데 도움을 줍니다. Yii 프레임워크에서 라우팅은 매우 중요한 개념입니다. 라우팅의 역할은 클라이언트에서 요청한 URL을 해당 컨트롤러 및 작업에 매핑하는 것입니다.

기존 웹 애플리케이션에서 URL은 일반적으로 http://www.example.com/index.php?id=1001&category=book과 같은 매개변수가 포함된 문자열입니다. 이러한 URL은 사용자가 현재 어떤 페이지를 방문하고 있는지 직관적으로 이해하기 어렵고, 동시에 아름답지도 않습니다. 사용자가 페이지에 더 쉽게 접근할 수 있도록 Yii 프레임워크는 URL을 더 간단하고 이해하기 쉬운 형태로 변환할 수 있는 라우팅 기능을 제공합니다.

먼저 애플리케이션의 구성 파일에서 라우팅 규칙을 구성해야 합니다. Yii 프레임워크는 규칙 라우팅, 향상된 라우팅, 일반 라우팅이라는 세 가지 라우팅 방법을 제공합니다. 여기서는 규칙 라우팅을 예로 들어보겠습니다.

규칙 라우팅은 특정 URL 규칙을 지정된 컨트롤러 및 작업에 매핑하는 가장 일반적으로 사용되는 라우팅 방법입니다. 다음은 간단한 예입니다.

return [
    'components' => [
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                'post/<id:d+>' => 'post/view',
                'posts' => 'post/index',
            ],
        ],
    ],
];

위 예에서는 URL /post/1001을 컨트롤러 게시물 및 작업 보기에 매핑합니다. 여기서 1001은 동적으로 전달되는 매개 변수입니다. 이런 방식으로 사용자는 /post/1001에 접속하여 ID가 ​​1001인 블로그 게시물을 볼 수 있습니다. 또한 사용자가 /posts에 액세스하여 블로그 게시물 목록을 볼 수 있도록 URL /posts를 컨트롤러 게시물 및 작업 인덱스에 매핑합니다.

위의 고정 규칙 외에도 정규식을 사용하여 URL을 일치시킬 수도 있습니다. 예:

return [
    'components' => [
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                [
                    'pattern' => '/post/<id:d+>',
                    'route' => 'post/view',
                    'suffix' => '.html',
                ],
                [
                    'pattern' => '/<category:w+>',
                    'route' => 'post/index',
                    'suffix' => '.html',
                ],
            ],
        ],
    ],
];

위 예에서는 두 개의 정규식을 사용하여 URL을 일치시켰습니다. 첫 번째 규칙은 /post/1001.html을 컨트롤러 게시물 및 작업 보기에 매핑합니다. 여기서 .html은 접미사이고 3493f3358a126a26f38915ea72d0923c는 동적으로 전달되는 매개 변수입니다. 두 번째 규칙은 /news.html 또는 /technology.html을 컨트롤러 게시물 및 작업 인덱스에 매핑합니다. 여기서 46973002c3cd4c80c69da80de8fbb82a는 모든 문자와 일치할 수 있는 동적으로 전달되는 매개 변수입니다.

Yii 프레임워크는 규칙 라우팅 외에도 향상된 라우팅과 일반 라우팅도 제공합니다. 향상된 라우팅은 규칙 라우팅과 유사하며 URL을 지정된 컨트롤러 및 작업에 매핑할 수 있습니다. 차이점은 향상된 라우팅이 모듈, 컨트롤러 및 작업 이름의 자동 확인을 지원하고 매개변수를 지정된 모델 개체에 자동으로 채울 수 있다는 것입니다.

일반 라우팅은 정규식을 사용하여 모든 URL과 일치시킬 수 있는 더욱 강력한 라우팅 방법입니다. 일반 라우팅은 상대적으로 사용 시나리오가 적으며 일반적으로 특수 URL 형식을 일치시키는 데 사용됩니다.

일반적으로 Yii 프레임워크에서 라우팅을 사용하면 URL을 쉽게 아름답게 만들고 사용자가 페이지에 더 쉽게 액세스할 수 있습니다. 동시에 라우팅은 MVC 애플리케이션 구축의 중요한 부분이기도 하며 다양한 라우팅 방법이 다양한 요구 사항을 충족할 수 있습니다. 웹 애플리케이션을 개발할 때 애플리케이션 성능과 사용자 경험을 향상시키기 위해서는 특정 상황에 따라 가장 적절한 라우팅 방법을 선택해야 합니다.

위 내용은 Yii 프레임워크의 라우팅: URL 미화 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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