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
こんな感じです
コメント