【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');
}
認証や登録に使いたいテーブルを指定できる。