CakePHPで404などエラーページを表示

スポンサーリンク

CakePHP3で404 Not Found などエラーページを表示する方法です。CakePHP でのエラーハンドリングについては、以下の公式ドキュメントが分かりやすい。

Error & Exception Handling – CakePHP Cookbook 3.x documentation

— 環境 —
PHP 5.5.19
CakePHP 3.1.1

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

用意されているビルトインのエラーハンドリング用の例外クラスは、以下で確認できます。

Built in Exceptions for CakePHP / Error & Exception Handling – CakePHP Cookbook 3.x documentation

CakePHP のバージョン次第ではありますけれど、400系 〜 500系 エラーを処理するための各種例外クラス(Exception)が用意されています。

404 エラー表示(404 Not found error)のサンプルコード

以降、404 Not found error を表示する例のサンプルコードです。Cake\Network\Exception\NotFoundException の例外クラスを利用します。

コントローラーのコード。

src/Controller/UsersController.php

ユーザーが見つからなかった場合に、NotFoundException 例外を発生させるようにしました。

error400.ctp テンプレートを編集

続いて、テンプレートのコード。404 エラーを表示するための error400.ctp テンプレートを作成する。デフォルトで用意されていたので、その中身を編集しました。

src/Template/Error/error400.ctp

以上で、ユーザーが見つからなかった場合は、404 エラーページが表示されるようになります。

スポンサーリンク
私は Ruby on Rails の前は、PHP & CakePHP を使っていました(今も使いますけど)。PHP についてはオライリーの本を中心に軽く10冊以上は読み込みました。
 
スポンサーリンク

Leave Your Message!