CakePHPでRequestHandlerコンポーネントを使って判定しちゃうよ

PHP

CakePHPで、GETやPOSTによるアクセスかどうか、SSL通信を使用しているかどうか、Ajaxによるアクセスかどうかといった判定処理を行う際にはRequestHandlerを使うと便利です。

RequestHandlerの使い方

まずは、コントローラ$componentsに追加します。

public $components = array('RequestHandler');

他のコンポーネントも一緒に使う場合はカンマ区切りとなります。

public $components = array('SdAuth', 'Qdmail', 'RequestHandler');

RequestHandlerを使った判定

$this->RequestHandler->isGet → GETによるアクセスかどうか
$this->RequestHandler->isPost → POSTによるアクセスかどうか
$this->RequestHandler->isMobile → モバイルからのアクセスかどうか
$this->RequestHandler->isSSL → SSL(HTTPS)によるアクセスかどうか
$this->RequestHandler->isAjax → Ajaxによるアクセスかどうか
$this->RequestHandler->isXml → XMLレスポンスを受け付けるかどうか
$this->RequestHandler->isRss → RSSレスポンスを受け付けるかどうか
$this->RequestHandler->isAtom → Atomレスポンスを受け付けるかどうか
※RequestHandlerは真偽値で判定されるので、trueかfalseが返ってきます!

使用例

POSTデータがない場合は不正とみなす場合といった処理

if(!$this->RequestHandler->isPost()) {
	$this->set('error_msg' => 'リクエストが不正です'));
	return;
}
タイトルとURLをコピーしました