cakephp3 prefixの使い方

cakephp3.4.11を利用

CakePHP3を使った開発を久しぶりにしております。
少し大きめな規模にしたいのでprefixを使った構成にしようと調べたのでメモ

やりたいこと

  • API用に物理的にも階層を分けてソースコードを展開する
  • API用は複数のバージョンのアプリに対応させる必要があるので、バージョンごとにソースコードを展開する

つまり
アクセスは、
http://example.com/api/v1/…..
http://example.com/

として、物理的には、
/Controller/Admin/….
/Controller/Api/V1/….
/Controller/Api/V2/….
/Template/Admin/..
/Template/Api/V1/…
/Template/Api/V2/…

こんな感じにしたい

config/routes.php

Router::prefix('api', function ($routes) {
    $routes->prefix('v1', function ($routes) {
    |   $routes->connect('/',['controller'=>'Statuses','action'=>'index'], ['routeClass' => 'DashedRoute']);
    |   $routes->fallbacks(DashedRoute::class);
    });
});

作成するときは、

$ bin/cake bake all controller名 prefix=api/v1

こんな感じです

コメント

タイトルとURLをコピーしました