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

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コースあり!

Webデザインスクールの「WebCamp」が手がけるママのためのWebデザインコース

1ヶ月の短期集中でWebデザイナーを目指せます。仕事復帰を希望する主婦やママさんにオススメです。

1ヶ月でHP作成!「WebCamp」

【参考記事】WebCampなら1ヶ月の短期集中でWebデザイナーを目指せる

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

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

プログラミング 無料体験

【参考記事】HTMLの勉強ならTechAcademy(テックアカデミー)のフロントエンドコースが短期集中でオススメ!

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

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

まだ「独立・開業はちょっと...」という方へは、当社の制作案件をお手伝いして頂く道も開けます。

ABOUTこの記事を書いた人

とみっち

数年前までバンド活動してました。また活動するよ!現在はブログを運営して暮らしています。サウンドクリエイター、Webクリエイター。息子は5歳。長野市出身。埼玉県内を転々(東松山市→志木市→川越市)とし、現在は本庄市に住み法人化しました。6人で会社やってます。 【興味】音/Web/車(GolfV GTI等)/田舎/旅/酒 ※自然の音からデスメタルまで聴きます。 @tomicci 詳しいプロフィール 【主な運営サイト】 ザ・サイベース おと風景