🥽
コントローラー作成
コントローラを作っていく
bin/cake bake controller Articles
# src/Controller/ArticlesController.phpが作成される
ArticlesController.php
<?php
declare(strict_types=1);
namespace App\Controller;
/**
* Articles Controller
*
* @property \App\Model\Table\ArticlesTable $Articles
* @method \App\Model\Entity\Article[]|\Cake\Datasource\ResultSetInterface paginate($object = null, array $settings = [])
*/
class ArticlesController extends AppController
{
/**
* Index method
*
* @return \Cake\Http\Response|null|void Renders view
*/
public function index()
{
$this->loadComponent('Paginator');
$articles = $this->Paginator->paginate($this->Articles->find());
$this->set(compact('articles'));
}
CMSチュートリアルに則って追記する
次はルーティングを設定する
routes.php
$builder->connect('/', ['controller' => 'Articles', 'action' => 'index']);
// トップページを変える
$builder->fallbacks();
// 今回はこいつがいるため特に追加する必要はない
場合によって追記したりしなかったりする
viewはsrc/tempates/Articles/index.phpに記載する
これもとりあえずチュートリアルの内容を丸ごと貼っつける
topページがっぽい奴になる
このままだとindexページがあるだけで内容は確認できないからviewメソッドを作成する
と言ってもチュートリアルをそのまま持ってくるだけだが
// src/Controller/ArticlesController.php
public function view($slug = null)
{
$article = $this->Articles->findBySlug($slug)->firstOrFail();
$this->set(compact('article'));
}
index.phpと同じ場所にview.phpを作る
中身を見られるようになる
こっからアレコレ機能を追加していく
Discussion