CakePHPで現在開いているページのコントローラー名とアクション名の取得についてです。コントローラー名・アクション名を取得して、分岐処理を行いたい場合などに必要ですね。
コントローラー名、アクション名の取得
0 1 2 3 4 5 6 |
//コントローラー名を取得 $cName=$this->name; //アクション名を取得 $aName=$this->action; |
こんな感じで簡単に取得できます。
利用例です。
0 1 2 3 4 |
if(($cName=='Posts')&&($aName=='edit')){ //処理内容を記載 } |
コントローラー名「Posts」、アクション名「edit」の時に特定の処理を行いたい場合は、if文を使って上記のように処理します。
ドキュメントルート・URLの取得
ドキュメントルートを取得
0 1 2 |
$this->webroot |
完全なURLプリフィクスの取得
0 1 2 |
Router::fullbaseUrl() |
FULL_BASE_URLはバージョン2.4で撤廃になりました。
http://example.com/sample/ がドキュメントルートの場合、このURLを取得するには下記のようになります。
0 1 2 |
Router::fullbaseUrl() .$this->webroot |