이 글의 예시에서는 Yii 컨트롤러에서 필터를 사용하는 방법을 설명합니다. 참고용으로 공유해 주세요. 자세한 내용은 다음과 같습니다.
필터링 동작을 지정합니다. (새 페이지, 목록 페이지, 관리 페이지 호출 시 다음 projectContext() 메소드를 사용합니다.)
public function filters() { return array( 'accessControl', // perform access control for CRUD operations 'postOnly + delete', // we only allow deletion via POST request 'projectContext +create index admin', ); }
필터 로직 추가, 필터링 방법 정의, 필터링 방법 앞에 필터
public function filterProjectContext($filterChain) { $prijectId = null; if(isset($_POST['pid'])){ $projectId = $_POST['pid']; }elseif(isset($_GET['pid'])){ $projectId = $_GET['pid']; } $this->loadProject($projectId); $filterChain->run(); } public function loadProject($projectid) { if($this->_project === null){ $this->_project = Project::model()->findbyPK($projectid); if($this->_project === null){ throw new CHttpException(404,'请求和项目没找到!'); } } return $this->_project; }
를 추가해야 합니다. 이 글이 Yii 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그램 설계에 도움이 되기를 바랍니다.
Yii 컨트롤러의 필터 사용 분석과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!