cake phpを勉強 Cake ブログチュートリアルを実践

cake phpの付録Aのブログチュートリアルをやってみる。
まずは簡単なところから。

先日作成したDBにデータベースを設定します。
hetemlの管理画面からphpMyAdminに入り、SQLを実行。

phpMyAdminにログイン後、SQLのタブを選択し、コピペして実行。
SQLはブログチュートリアルのA.3に掲載されています。

細かいことは抜きにして、postsテーブルが作成されました。
mod_rewriteが使えないサーバーでは、表示がおかしくなるそうですが、
hetemlでは、mod_rewriteが使えるので、問題なし。

次に、モデルの作成へ進みます。
ちなみにモデルとは、MVCパターンのMの部分だそうです。
基本的にMVCパターンとは、
M(モデル)、
V(ビュー)、
C(コントローラ)
の3つからなるということだけ覚えておいて、
とりあえず先に進みます。(おいおい詳しく勉強します。)

<?php
class Post extends AppModel
{
    var $name = 'Post';
}
?>

というファイルを作成し、/app/models/post.phpにアップロード。
この段階で、/cake/posts/にアクセスすると

misscontroller.jpg
のような表示になりました。
コントローラを作れよというエラー。
親切にコントローラのサンプルも表示されます。

とりあえず、A.7. Posts Controller の作成の通り、
/app/controllers/posts_controller.phpを作成。

<?php
class PostsController extends AppController
{
    var $name = 'Posts';
    function index()
    {
        $this->set('posts', $this->Post->findAll());
    }
}
?>


作成したファイルをアップして、さきほどと同様に
/cake/posts/をブラウザで見ると、

missview.jpg
と表示されます。

VIEWがないよということ。
/web/cake/app/views/posts/index.thtmlにファイルを作成してくださいとのこと。

A.8. Post Views の作成の通り作成。

できたファイルをアップして、/cake/posts/にアクセスすると、
無事、Postsの一覧が表示されていました。

postsseuccess.jpg

チュートリアルをまんま進めているので、動くのはあたりまえですが、
いろいろと勉強になりました。


下記、メモ。
・MVCパターンでは、情報、出力、処理の3つの機能に分かれている。
・Model、View、Controllerでそれぞれ3つの役割を持つ。
・とりあえず、Modelが核となる
・controllerの中にアクションを記述する
・DBのテーブル名は複数形を使用する
・modelのファイル名は、「テーブル名の単数系.php」
・modelを作成するときは、AppModelクラスを継承させる。
・modelを作成時のvar $nameの頭文字は大文字、テーブル名の単数形で作成する。
・controllerの中に記述したアクション、例えばhogehoge()という関数を定義すると、「テーブル名/hogehoge」でアクセスしたときに利用できる
・controllerを作成するははAppControllerを継承させる。
・viewファイルは「controllerで設定した関数名.thtml」でapp/views/へアップする


まだまだ先は長そうですが、あせらずやっていきます。

tag:

date:2008年05月20日 00:00 | COMMENT (0) | TRACKBACK (0)

Trackback

Trackback UR: http://www.phas.jp/mt/mt-tb.cgi/204

Comment

(いままで、ここでコメントしたことがないときは、
コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。
承認されるまではコメントは表示されません。そのときはしばらく待ってください。)