cakephp3の調査(Controller)
ちょっとだけControllerをやってみる
マニュアルやサンプルが少ないので調査に時間がかかる
サンプル
Sample1Controller.php
<?php /** * Static content controller. * * This file will render views from Template/Pages/ * * PHP 5 * * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * * Licensed under The MIT License * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * @link http://cakephp.org CakePHP(tm) Project * @since CakePHP(tm) v 0.2.9 * @license http://www.opensource.org/licenses/mit-license.php MIT License */ namespace App\Controller; use Cake\Core\Configure; use Cake\Error; use Cake\Utility\Inflector; /** * Static content controller * * Override this controller by placing a copy in controllers directory of an application * * @link http://book.cakephp.org/3.0/en/controllers/pages-controller.html */ class Sample1Controller extends AppController { /** * This controller does not use a model * * @var array */ public $uses = array(); public function index(){ // 変数設定 $this->set('post', [ "name" => "m_shige1979", "message" => "こんばんは" ]); // テンプレート設定 $this->render('index'); } public function page1(){ // テンプレート設定 $this->render('test1'); } }
①namespaceが実装された
②autoloadとかあるらしい
③基本的なロジックはこの辺はあまり変わっていないよう
ビュー用のctpファイルの場所は/app/App/Templateと変更された
最初Viewと思ったけど違かった
Sample1/index.ctp
<div> <div>name:<?php echo h($post['name']); ?></div> <div><?php echo h($post['message']); ?></div> </div>
Sample1/test1.ctp
<div> Hello World CakePHP 3.0.0 dev1 </div>
まとめ
色々ファイルの場所が変わっているのがわかった。
ネットではモデルの変更が結構あるよう。
データのバリデーションとかメール送信とかいろいろまだまだ調査することが多い。
とりあえず、モデルとビューは放置してコントローラー部分を引き続き調査するかも