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

Cake 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;
}
プロから直接学べるプログラミングスクールの紹介!PHPコースあり!

自己流でプログラミングを覚えようとすると、環境設定でつまづく、書いたプログラムがなぜ動かないか解決できず、多大な時間を浪費してしまいがちです。

担当の指導者(メンター)が付いてくれるTechAcademyなら、分からないことをどんどん質問して解決できます!コードレビューしてもらえるのも素晴らしい点ですね。

【TechAcademy】家で学べるプログラミングスクール

Web制作会社が立ち上げたWebデザイナー育成スクール Web塾超現場主義

Web制作に実際に携わっている講師陣が、現場で通用するスキルを伝授します!卒業後は転職支援、仕事紹介などを行っており、フリーランス独立する道を探すこともできそうです。

また「独立・開業はちょっと...」という方へは、当社の制作案件をお手伝いして頂く道も開けます。
Facebookアカウントでコメント

※本コメント機能はFacebookによって提供されており、この機能によって生じた損害に対してザ サイベースは一切の責任を負いません。

Cake PHP

ABOUTこの記事を書いた人

とみっち

埼玉でザ サイベースを主催しています。Webクリエイター。フリーランス歴7年。飄々と生きています。これでも育児頑張ってます。長野市出身。 @tomicci 詳しいプロフィール【興味】ギター/DTM/Web/車/田舎/旅/酒/育児 自然の音からデスメタルまで聴きます。【運営サイト】 ザ サイベース おと風景