libro
www.tuyano.com
初心者のためのCakePHP2 プログラミング入門

モデルとデータベース (5/5)

作成:2011-11-14 08:01
更新:2011-12-06 19:35

■ScaffoldでControllerを用意する

さて、これでモデル経由で指定のテーブルにアクセスする手段は用意できました。では、実際にコントローラーからデータベースを利用してみましょう。ただし! 実際にアクセスをするためには、そのためのメソッドなどを色々覚えないといけません。

そこで今回は、手っ取り早くデータベースを使って見るため、「Scaffold」という機能を利用してみましょう。Scaffoldというのは「足場」のことです。要するに、本格的に開発を始める前に、とりあえず「データベースにアクセスする足場を組んでおく」というわけです。

では、コントローラーを作成しましょう。「app」内の「Controller」フォルダの中に、新たに「MySampleDatasController.php」というファイルを作成します(MySampleDataController.phpではないので間違えないように)。そして下のリストのように記述をします。これで完成です。完成? そう、完成なのです。ビューも作る必要はありません。アクションメソッドも不要です。実際にアクセスしてみましょう。
http://localhost/[Cakephpのディレクトリ]/my_sample_datas/
アクセスすると(my_sample_datasはmysampledatasでも可です)、既にデータベースを利用するための機能がすべて用意されていることに驚くでしょう。データの新規作成、編集、削除、みんな用意されています。これが、Scaffoldの機能です。コントローラーさえ用意しておけば、アクションメソッドもビューも用意する必要はありません。コントローラーに必要な記述は、わずかに1行のみです。
public $scaffold;
このように、「$scaffold」というpublicな変数を用意するだけで、Scaffoldの機能が自動的にONとなり、使える状態になります。実に便利!

――とりあえず、これでCakePHPからデータベースを利用できるようになりました。実際に使ってみて、いくつかダミーのデータを作成しておきましょう。ひと通りの機能を試したら、次はいよいよ実際にコードを書いてデータベースにアクセスしてみます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※MySampleDatasController.php

<?php
App::uses('AppController', 'Controller');

class MySampleDatasController extends AppController {
  public $scaffold;
}

※関連コンテンツ

「初心者のためのCakePHP2 プログラミング入門」に戻る