CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを
CakePHP3のルーティングを変更しても反映されない時がある。そんなときは慌てずにキャッシュをクリアしよう!
ルーティングの設定を再設定するキャッシュのクリア方法
このルーティングの設定は「/config/routes.php」ファイルに記述します。
記述を変更すればすぐに反映されますが、時々、ルーティングの設定がうまく反映されない場合もあります。
その時は、CakePHP3のキャッシュを疑ってください。
下記のコマンドを実行してキャッシュをすべて削除します。
1 2 |
$ cd [CakePHPのルートフォルダ] $ bin/cake cache clear_all |
そして、改めて動作を確認してみてください。
ルーティングの設定とキャッシュのクリア方法の詳細解説
ルーティング設定とは URLを自由に設計する機能
CakePHP3には、プログラムと URLを関連付けるための設定、ルーティングを設定することができるようになっています。
例えば、「Controller:test」「action:view」のプログラムを作ったとします。
CakePHP3の場合は、デフォルトでの URLは以下のようになります。
http://example.com/test/view
ですが、ルーティング(routes.php)の設定を行うことで、自由な URLを設定することができるようになります。
例えば、上記の URLを下記のように変更することもできます。
http://example.com/aaa/bbb
このような URLの変更をするのがルーティングの設定で、「/config/routes.php」ファイルに記述します。
この記事ではルーティングの設定方法の解説は行いませんので、ルーティングの設定方法を知りたい場合は、下記のオフィシャルサイトを見ていただくか、ググってください。
CakePHP3・Cookbook・ルーティング
https://book.cakephp.org/3.0/ja/development/routing.html
ルーティングの設定変更が正しく反映されないときはキャッシュをクリアしよう!
このルーティングの設定は「/config/routes.php」ファイルに記述します。
記述を変更すれば普通はすぐに反映されますが、時々、ルーティングの設定がうまく反映されない場合もあります。
その時は、CakePHP3のキャッシュを疑ってください。
ローカル環境ではあまりキャッシュを残す設定にしていないことが多いため、ついつい忘れがちですが、ルーティングの設定もキャッシュされています。
そのキャッシュを削除する場合は、下記のコマンドを実行します。
このコマンドでキャッシュをすべて削除することができます。
1 2 |
$ cd [CakePHPのルートフォルダ] $ bin/cake cache clear_all |
キャッシュを削除したら、改めて動作の確認をしてみてください。
ちなみに、キャッシュの削除は、かつては「/tmp/cache/」フォルダの中のファイルを手作業で削除していましたが、CakePHP 3.3で上記のコマンドが実装されましたので、コマンド一発ですべて削除できるようになりました。
キャッシュを削除する方法の詳しい解説については下記に記事を書いています。
CakePHP3、CakePHP4のキャッシュをクリアする方法「bin/cake cache clear_all」を使う
また、ルーティング機能を活用して、CakePHP3の中に静的なページを組み込む方法については下記に記事を書いています。
CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説
CakePHP3の関連記事
CakePHP4のCSS、JavaScript、画像のブラウザへのキャッシュをコントロールするCakePHP3でレコードを保存(追加、更新、Insert、Update)する複数の方法を紹介
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
その他の「CakePHP3」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
CakePHP3でファイルのアップロード処理を自作・解説付き・その1
CakePHP3でファイルをアップロードする処理を、php.netにある「エラーを起こさない」と説明がある処理を参考に作成。サンプルソースとその解説付きで、コピペでも動くし、カスタマイズも簡単!
-
CakePHP3ログファイルへの出力・$this->log()、独自ログへの出力方法の解説
コントロール、モデルの変数の中身を見るときはログに出力する方法が有効です。$this->log()を利用すると変数だけじゃなく、連想配列、オブジェクトも簡単にログ出力ができます。
-
CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3の開発で発生する「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」のエラーには特有の原因もあるため、その説明と対処方法の解説。
-
CakePHPのバリデーションを入力値・項目の条件によって変える方法を解説
入力された値によってバリデーション(入力チェック)の内容を切り替える。その処理をCakePHPで実装する方法を解説。条件ごとに unset関数を使ってバリデーションを削除する、という方法を採る。
-
CakePHP3にデイトピッカー jQuery UI DatePickerを実装する手順の解説
CakePHP3にjQuery UIのDatePickerを実装する手順を説明。併せて、デイトピッカーを設置に関連するCakePHP3の解説と、テーマを変更したり、表記を変更するカスタマイズする方法なども紹介。
-
CakePHP 2.3で確認画面付きのお問い合わせフォームの作り方
CakePHPで確認画面付きのお問い合わせフォーム、メールフォームの作り方をサンプルを提示しながら解説。
-
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3の標準設定のタイムゾーンは「UTC(協定世界時)」に設定されている。これを日本標準時に変更する方法(app.php、bootstrap.phpの変更方法)の解説。
-
CakePHP 2.3 Model、Controllerの見たい変数の中身をログ出力
CakePHPの Modelや Controllerの変数の中身をログとして出力して見る方法を提供します。
-
CakePHP 2.3でOn Duplicate Key構文を実装
CakePHPで On Duplicate Key構文を Queryを利用して実装する方法をサンプルソース付きで解説します。
-
CakePHP4のCakeDC/Usersのログイン時のリダイレクトとユーザ権限管理の設定解説
CakeDC謹製UsersプラグインのCakePHP4版の紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。