LoginSignup
1
3

More than 5 years have passed since last update.

cakephp3 bakeを使わないでMVCファイルを生成する

Posted at

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になる

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3