【cakephp3】サイト作成開始~管理用ページをadminディレクトリに入れるまで

bakeコマンドで必要なファイルを作成

bin/cake bake all users

/ bin/cake bake all テーブル名

Mysqlで作ったテーブル名と同じ名前を指定しないとエラーになる。
Mysqlではテーブル名は小文字しか登録できないので、bake時も小文字で指定してOK

小文字で作成しても、Controller名などは命名規則に従ってちゃんとbakeしてくれるので大丈夫。

■src/Controller/Admin/の中に管理用のコントローラを作っていくための設定。

routes.phpにadminプレフィックスを書く

Router::prefix(admin, function (RouteBuilder $routes) {
   $routes->fallbacks(DashedRoute::class);
});

Adminディレクトリにファイルを移動する

ControllerとViewファイルを移動する。

~~Controller.phpのnamespaceにadminを追加。

AppController,UsersController

namespace App\Controller\admin;

※UsersControllerに、AppControllerの使用宣言は要らないので注意。
これを書くと、AdminディレクトリではないほうのAppControllerを見にいってしまう。

use App\Controller\AppController; // ←これ要らない。

使用するテーブルの指定

UsersTable.php

class UsersTable extends Table
{
   public function initialize(array $config)
   {
       parent::initialize($config);

       $this->setTable('users'); ←ここでテーブル名を指定
       $this->setDisplayField('id');
       $this->setPrimaryKey('id');

       $this->addBehavior('Timestamp');
   }

認証や登録に使いたいテーブルを指定できる。


いいなと思ったら応援しよう!