プログラミング初心者です。(CakePHP2系のcrudを触った事がある程度です)
CakePHP3系で、Controller以下に複数のディレクトリを配置し、それぞれに対応するTemplateを表示させたいのですがうまくいきません。
/Controller/Admins/AdminsController.php
/Controller/Users/UsersController.php
のように配置し、それぞれ
/Template/Admins/index.ctp
/Template/Users/index.ctp
を表示させたいのです。
ここや他所でみつけたApp::buildのcakePHP3での使い方を参考にさせていただき、
composer.jsonに
"autoload": { "psr-4": { "App\\": "src", "App\\Controller\\": "/src/Controller/Admins" } }
と追記し、
composer dump-autoload
を行い、ブラウザにて http://URL/admins/ にアクセスすると、
/Template/Admins/index.ctpは表示されました。
ですが、composer.jsonに
"autoload": { "psr-4": { "App\\": "src", "App\\Controller\\": "/src/Controller/Admins", "App\\Controller\\": "/src/Controller/Users } }
と書き足し、composerコマンドを実行後、ブラウザにて
http://URL/users/ にアクセスすると
Template/Users/index.ctp は表示されるのですが
http://URL/admins/ へのアクセスでは
Template/Admins/index.ctp が表示されません。
エラーメッセージは
「Controller/AdminsController.phpが見当たりません」
と出ています。
見当違いの設定をしている気もするのですが、どなたか正しい設定方法をご存知の方、
お助けいただけると有り難いです。
/Controller/Admins/AdminsController.phpの記述内容は
<?php namespace App\Controller; class AdminsController extends AppController { public function index() { } }
/Controller/Users/UsersController.phpは
<?php namespace App\Controller; class UsersController extends AppController { public function index() { } }
です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/18 05:04