質問編集履歴

1 説明文訂正

mandapan

mandapan score 2

2016/08/18 10:55  投稿

CakePHP3系でController以下に複数のディレクトリを配置したい
プログラミング初心者です。(CakePHP2系のcrudを触った事がある程度です)
CakePHP3系で、Controller以下に複数のディレクトリを配置し、それぞれ対応するTemplateを表示させたいのですがうまくいきません。
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/
にアクセスしても表示されません。
と書き足し、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()
   {
   }
}
```
です。
  • CakePHP

    2548 questions

    CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る