非同期で呼び出したPHPで重い処理をしてもタイムアウトさせない方法
のえる
2021.11.02
どうも、最近忙しさに押されているのえるです。
気が付いたら週末ということが続いてますが、なんとか頑張ってます。
さて、今回はCakePHP3でURL表示を変更する方法をご紹介します。
CakePHP | 3.2 |
---|---|
PHP | 5.5.17 |
CakePHPでは.htaccessによるルーティングを行っています。
ただ、これを変更するのはできれば避けたいところですので、
PHPで制御している側で変更します。
対象のファイルのパスは下記の通りです。
1 |
[CakePHP3ルート]/config/routes.php |
このファイルの中にある下記の箇所を変更することでいろいろな形にできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Router::scope('/', function ($routes) { . . . /** * Connect catchall routes for all controllers. * * Using the argument `DashedRoute`, the `fallbacks` method is a shortcut for * `$routes->connect('/:controller', ['action' => 'index'], ['routeClass' => 'DashedRoute']);` * `$routes->connect('/:controller/:action/*', [], ['routeClass' => 'DashedRoute']);` * * Any route class can be used with this method, such as: * - DashedRoute * - InflectedRoute * - Route * - Or your own route class * * You can remove these routes once you've connected the * routes you want in your application. */ // ここを変更する $routes->fallbacks('DashedRoute'); |
変更できる値はコメントにもある通り「DashedRoute、InflectedRoute、Route」です。
あと、独自ルーティングクラスがある場合は、それを指定可能みたいです。
ちなみにそれぞれのルーティング結果も載せておきます。
DashedRoute | Controller,Actionともチェインケース |
---|---|
InflectedRoute | Controller:スネークケース Action:アッパーキャメルケース |
Route | Controller,Actionともそのまま |
※ケース表記が分からない方はコチラ
余談ですが、CakePHP3.1.xまでは「InflectedRoute」でしたが、CakePHP3.2からは「DashedRoute」がデフォルトみたいです。
いかがでしたか?
少しでも役に立てば幸いです。
またいろんな記事を書いていきますよー。
それではっ!!!
POPULAR
のえる
Full-stack Developer
人気記事