teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/12/02 01:48

投稿

KAOsaka
KAOsaka

スコア531

answer CHANGED
@@ -1,1 +1,29 @@
1
- Controllerの`namespace`は`App\Controller\Admin`になっていますか?
1
+ Controllerの`namespace`は`App\Controller\Admin`になっていますか?
2
+
3
+ あと、CakePHPの日本語版ドキュメントは気づいた人が更新しないと**バージョンアップしてもそのまま**なことが多いので、動かない場合は英語版のドキュメントを確認した方がいいです。
4
+
5
+ - [Routing - 4.x](https://book.cakephp.org/4/en/development/routing.html)
6
+
7
+ 英語版だとプレフィクスルーティングの書き方が変わっているので、以下変更して試してみてください。
8
+ (まだ`deprecated`の段階なので`Router::prefix`も使えるとは思いますが、、、)
9
+
10
+ ``` php
11
+ <?php
12
+ use Cake\Routing\Route\DashedRoute;
13
+ use Cake\Routing\RouteBuilder;
14
+ use Cake\Routing\Router;
15
+
16
+ $routes->setRouteClass(DashedRoute::class);
17
+
18
+ $routes->scope('/', function (RouteBuilder $builder) {
19
+ /* フロントページ */
20
+ // TOP
21
+ $builder->connect('/', ['controller' => 'home', 'action' => 'index']);
22
+ });
23
+
24
+ /* 管理画面 (この下を追加) */
25
+ $routes->prefix('Admin', function (RouteBuilder $builder) {
26
+ // カテゴリ
27
+ $builder->connect('/categorys', ['controller' => 'categorys', 'action' => 'index']);
28
+ });
29
+ ```