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 중국어 웹사이트의 기타 관련 기사를 참조하세요!