이전 Yii Framework 개발 간결 튜토리얼(4) Hangman 단어 추측 게임 예제에서는 몇 가지 문제가 생략되었습니다. 하나는 구성 파일 main.php의 URLManager이고, 다른 하나는 Controller의 기본 클래스 CComponent이며, third is the definition. CHtml helper class used by View.本篇战开介绍URLManager,URL管理。
return array( ... 'components'=>array( 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( 'game/guess/'=>'game/guess', ), ), ), );
Web应用程序完整的URL管理包括两个方面。首先, 当用户请求约定的URL,应用程序需要解析它变成可以理解的参数。第二 ,应用程序需求提供一种创造URL的方法,以便创建的URL应用程序可以理解的。对于Yii应用程序,这些通过CUrlManager辅助完成。 <🎜 🎜> <<> Path Format URL을 사용할 때 특정 URL 규칙을 지정하여 URL을보다 사용자 친화적으로 만들 수 있습니다. 예를 들어, 길고/index.php/post/read/id/100 대신 짧은 URL/post/100을 생성 할 수 있습니다. URL 생성 및 구문 분석은 CurlManager를 통해 URL 규칙을 지정하여 수행됩니다.
URL 규칙을 지정하려면 urlManager 애플리케이션 요소의 규칙 속성을 설정해야 합니다.
array( ...... 'components'=>array( ...... 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( 'pattern1'=>'route1', 'pattern2'=>'route2', 'pattern3'=>'route3', ), ), ), );
이러한 규칙은 일련의 경로 형식 쌍 배열로 지정됩니다. 각 쌍은 단일 항목에 해당합니다. 규칙 . 경로의 형식은 구분 제 또는 수정자가없는 유효한 정규 표현이어야합니다. URL과 일치하는 데 사용되는 경로 정보의 일부입니다. 또한 경로는 유효한 경로 컨트롤러를 가리켜 야합니다. <🎜 🎜> <<> 규칙은 소수의 GET 매개 변수를 바인딩 할 수 있습니다. 매개변수의 일반적인 형식은 다음과 같습니다.
ParamName은 GET 매개변수 이름을 나타내고, 선택적 ParamPattern은 GET 매개변수 값을 일치시키는 데 사용되는 정규식을 나타냅니다. 웹 주소(URL)를 생성할 때 이러한 매개변수 토큰은 URL을 구문 분석할 때 해당 매개변수 값으로 대체되며, 결과를 구문 분석하여 해당 GET 매개변수가 생성됩니다. <<> 우리는 몇 가지 예제를 사용하여 URL의 작동 방식을 설명합니다. 규칙에 다음 세 가지가 포함되어 있다고 가정해 보겠습니다.
array( 'posts'=>'post/list', 'post/'=>'post/read', 'post//
CHtml::linkButton(chr($i),array('submit'=>array ('guess','g'=>chr($i))));
// check to see if the letter is guessed correctly if(isset($_GET['g'][0]) && ($result=$this->guess($_GET['g'][0]))!==null) $this->render($result ? 'win' : 'lose'); else // the letter is guessed correctly, but not win yet { $guessed=$this->getPageState('guessed',array()); $guessed[$_GET['g'][0]]=true; $this->setPageState('guessed',$guessed,array()); $this->render('guess'); }使用urlManager 也允许自定义规则,或者隐藏 index.php 。