エス技研

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のキャッシュをクリアする方法「bin/cake cache clear_all」を使う
 
また、ルーティング機能を活用して、CakePHP3の中に静的なページを組み込む方法については下記に記事を書いています。
CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説
 
 

CakePHP3の関連記事

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のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3でkeywords、DescriptionをHTMLヘルパーを使って設定する
CakePHP3で環境変数を設定して本番環境と開発環境を分けて処理をする場合
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

CakePHP 2.3 bakeの超初心者向けフォロー講座

CakePHP 2.3 bakeの超初心者向けフォロー講座

CakePHP 2.3でファイルをアップロード・その2 ファイル名を乱数で設定

CakePHPのアップロードするファイル名を乱数で変更しセキュリティを高める方法を解説。

CakePHP3でCookieを保存、呼び出し、削除の操作・CakePHP3.7対応
CakePHP3でCookieを保存、呼び出し、削除の操作・CakePHP3.7対応

CakePHP3.7でCookieを保存、取り出し、削除する方法を解説。CakePHP3でのCookieの取り扱いはバージョンごとに変更されるため、環境に合わせた方法を探す必要がある。

CakePHP3のCakeDC/UsersのUserHelperでログアウトやreCAPTCHAをカスタマイズ
CakePHP3のCakeDC/UsersのUserHelperでログアウトやreCAPTCHAをカスタマイズ

CakeDC謹製Usersプラグインの紹介。UserHelperを利用し、ログアウトのリンクや権限があるときのみ表示されるリンク、プロフィールページへのリンク、reCAPTCHAの設置方法などを解説。

CakePHP3のアソシエーション機能を使い関連レコードをまとめて削除

CakePHP3でレコードを削除する際に関連するレコードをまとめて削除する機能の解説。フレームワークのメリットを存分に発揮し、コマンドを1行追加するだけで実装可能。

CakePHP3のバージョンを指定してインストールする詳細な手順を解説
CakePHP3のバージョンを指定してインストールする詳細な手順を解説

CakePHP3のバージョンを指定してインストールする方法を詳細解説。CakePHP3のインストールはComposerを使うため設定もほぼ自動で完了。データベースの接続情報を記載すればアプリ開発のベースが整う。

CakePHP 2.3 コマンドラインからPHPのシェル実行の方法解説

CakePHP 2.3でコマンドラインから CakePHPで記述した処理を実行する方法を解説します。

CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法
CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法

CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法を解説。複数の方法があるが、getParam()メソッドを使う方法が汎用性があって便利かも。

CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説
CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説

CakePHP3でJavaScriptやCSSを編集する基本形から、それらやテンプレート(エレメント)を特定のテンプレートを読み込んだときのみ編集、実行するための方法、ブロック化について解説。

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

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