CakePHP の scaffold を体験します♪ | oki2a24 の次の投稿となります。
scaffold を上書きして捨てていく開発、scaffold を使用して見た目だけ変える開発ができるようなので、見てみます。
ポイント
- scaffold のレイアウトを修正するには、cake/sample/lib/Cake/View/Scaffolds/ フォルダのテンプレートをコピーして、cake/sample/app/View/Scaffolds/ フォルダに入れて、これを修正します。
- scaffold のアクション、index、add、edit、view、delete、はオーバーライドできます。
※継承した子クラスで親クラスのメソッド、プロパティを上書きすることです。
前提
- CakePHP 2.1.3 導入済み。
- ドキュメントルート/cake/sample/(ここにCakePHP が入ってます。app ディレクトリとか、.travis.yml ファイルとか。)
scaffold のレイアウトを修正するソース
cake/sample/lib/Cake/View/Scaffolds/ フォルダに入っている3つのテンプレートをコピーして、cake/sample/app/View/Scaffolds/ フォルダに入れます。そして、コピーした3つのビューに固定文字列を入れてみました。
- form.ctp
- index.ctp
- view.ctp
結果、挿入した固定文字列が表示されました!ということで、この方法で scaffold のレイアウトが修正可能であるとわかりました♪
scaffold を上書きして捨てていくソース
cake/sample/app/Controller/BoardsController.php
<?php class BoardsController extends AppController { public $name = 'Boards'; public $scaffold; public function index() { $data = $this->Board->find('all'); $this->set('data', $data); } public function add() { } public function edit() { } public function view() { } public function delete() { } } ?>
結果
scaffold を有効にした上で、index、add、edit、view、delete アクションをコントローラーに書くと自分で作ったこれらのアクションの方が実行されました。その結果、ビューを作成していない index 以外のアクションでは、エラー画面が表示されてしまいましたっ!
index のアクションとビューは以前の投稿、CakePHP で DB データを表示するシンプルな例!モデルなしで勉強です! | oki2a24 をご参照くださいませ。
おわりに
まずは scaffold を有効にしておいて開発を進め、めどがついたら無効にする、そういう使い方がよさそうに思います。scaffold をそのまま使うことは、なさそうな気がします。なんとなくですけれども。
「CakePHP2 の scaffold 応用編を通して使いどころを少しだけ考えます!」への1件の返信
[…] CakePHP の scaffold 応用編を通して使いどころを少しだけ考えます! | oki2a24 の次の投稿となります。 […]