cakephp3
bakeは使わないでファイルを生成
大文字小文字、単数複数ついつい忘れがちなので書き留める
Model
まずは下記ファイルを生成する。(テーブル作成済みであることが前提)
テーブルをTestsとして作成していたとしたら、、
(テーブル名は必ず複数系)
ファイル名はTestsTable.phpとする
※一文字目は必ず大文字
※複数形でテーブルを作成しているので当然だがファイル名も複数形
app/src/Model/Table/テーブル名Table.php
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
class UsersTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
}
}
namespace名前空間は決まりきっている。
useでこのファイルで使うクラスの呼び出し
extendsで、呼び出してあるクラス(Table)を利用する
initializeで、
$this->addBehavior('Timestamp');をすることで、
データベースが更新されたときに、
自動でcreatedとmodifiedを更新してくれる
View
テーブル名でディレクトリを作成するところからやる必要がある。
例 Tests
※ここでも大文字と複数形にすることを忘れずに
app/src/Template/テーブル名/index.ctp
<h1>cakephp3サンプル</h1>
<section>
<p>サンプルです</p>
</section>
このファイルには<body>
タグ内を書く
Controller
/app/src/Controller/TestsController.php
<?php
namespace App\Controller;
class TestsController extends AppController
{
public function index()
{
$tests = $this->Tests->find('all');
$this->set(compact('tests'));
}
}
cakeのURLの決まりとして、
/(controller)/(action)/(options)
となっているので、
この場合、/tests/indexになる