Cakephp3を使っていると、本番環境ではCakephpテンプレートエラーを出したくない場合もある。
いろんな方法があるが、ここでは Configure::read('debug') の値をif判定する。
※本番環境: 0 開発環境: 1
URLの打ち間違いの40x系ページと、phpエラー等の50x系のページに判定分を追加する
$ vi Template/Error/error400.ctp $ vi Template/Error/error500.ctp -$this->layout = 'error'; +// 本番環境ではエラーは表示しない +if (Configure::read('debug') === 0) { + $this->layout = 'error_prod'; +} else { + $this->layout = 'error'; +}
本番用レイアウトページを複製して修正
$ cp Template/Layout/error.ctp Template/Layout/error_prod.ctp $ vi Template/Layout/error_prod.ctp // 適宜修正