Yiiコントローラにおけるfilterフィルタの使い方分析
1484 ワード
この例では、Yiiコントローラにおけるfilterフィルタの使い方について説明します.皆さんの参考にしてください.具体的には以下の通りです.
フィルタリングアクションを指定します(次のprojectContext()メソッドは、新規、リスト、ページ呼び出しの管理に使用します).
いくつかのフィルタロジックを追加して、フィルタ方法を定義して、フィルタ方法の前に必ずfilterを加えます
Yiiの関連内容についてもっと興味のある読者は、「Yiiフレームワーク入門及び常用技術総括」、「php優秀開発フレームワーク総括」、「smartyテンプレート入門基礎教程」、「php対象プログラム設計入門教程」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
本稿では,Yiiフレームワークに基づくPHPプログラムの設計に役立つことを期待する.
フィルタリングアクションを指定します(次の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',
);
}
いくつかのフィルタロジックを追加して、フィルタ方法を定義して、フィルタ方法の前に必ずfilterを加えます
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の関連内容についてもっと興味のある読者は、「Yiiフレームワーク入門及び常用技術総括」、「php優秀開発フレームワーク総括」、「smartyテンプレート入門基礎教程」、「php対象プログラム設計入門教程」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
本稿では,Yiiフレームワークに基づくPHPプログラムの設計に役立つことを期待する.