エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを

   

CakePHP3のルーティングを変更しても反映されない時がある。そんなときは慌てずにキャッシュをクリアしよう!

 

ルーティングの設定を再設定するキャッシュのクリア方法

 
このルーティングの設定は「/config/routes.php」ファイルに記述します。
記述を変更すればすぐに反映されますが、時々、ルーティングの設定がうまく反映されない場合もあります。
 
その時は、CakePHP3のキャッシュを疑ってください。
 
下記のコマンドを実行してキャッシュをすべて削除します。
 

 
そして、改めて動作を確認してみてください。
 
 

ルーティングの設定とキャッシュのクリア方法の詳細解説

 

ルーティング設定とは 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のキャッシュを疑ってください。
 
ローカル環境ではあまりキャッシュを残す設定にしていないことが多いため、ついつい忘れがちですが、ルーティングの設定もキャッシュされています。
 
そのキャッシュを削除する場合は、下記のコマンドを実行します。
このコマンドでキャッシュをすべて削除することができます。
 

 
キャッシュを削除したら、改めて動作の確認をしてみてください。
 
 
ちなみに、キャッシュの削除は、かつては「/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」に関する記事一覧
 
 

 - CakePHP 3.x 4.x 5.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3で保存前にバリデーション結果を取得する2つの方法
CakePHP3で保存前にバリデーション結果を取得する2つの方法

CakePHP3でデータベースに値を保存する前にバリデーションを行い、その結果によって処理を振り分ける方法について解説。「$topic->errors()」と「$topic->hasErrors()」の2つの方法がある。

CakePHPで同一テーブル内の値を比較する条件でレコードを取得する方法
CakePHPで同一テーブル内の値を比較する条件でレコードを取得する方法

CakePHPの同一テーブルにある項目の値を比較し条件に合致するレコードを取得する方法を解説。[”項目名”=>”値”]ではなく[”項目名 = 項目名”]と書くところがポイント。

CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説
CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説

CakeDC謹製Usersプラグインの紹介。CakePHP4で使う場合のUsersのカスタマイズとして入力項目のバリデーションの変更を、プラグインのファイルは触らずオーバーライドにより実装する方法を解説する。

CakePHP 2.x系 Viewでのコメントの記述方法など

CakePHPにおいて View、ctpファイルでコメントを記述する方法を解説。

CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法

CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングをする方法を解説。インストール方法、読み込み方法。および、具体的なスクレイピングを実行するサンプルソースも。

CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説

CakePHP3でOGPを設定する方法を解説。fetch、assignを使用しレイアウトファイルに編集した変数にテンプレートファイルから値を指定する。これを利用してOGPを編集する。

CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2
CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその2でバリデーションなどの実用的なカスタマイズ方法を解説。

CakePHP4のCakeDC/Usersのログイン時のリダイレクトとユーザ権限管理の設定解説
CakePHP4のCakeDC/Usersのログイン時のリダイレクトとユーザ権限管理の設定解説

CakeDC謹製UsersプラグインのCakePHP4版の紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。

CakePHP3で生の SQLの実行はConnectionManagerを使う
CakePHP3で生の SQLの実行はConnectionManagerを使う

CakePHP3で生の SQL文を実行する方法を解説。クリエビルダーを使う場合は TableRegistryを利用するが、SQLを実行する場合は ConnectionManagerを使う。プリペアードステートメントの使用方法も解説。

CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定

CakePHP3でOGPを設定する方法を解説。metaタグを編集するHTMLヘルパーを利用してOGPのタグを編集する。また、エレメントとして分割することでメンテナンス性も向上させる。