Hatena::Groupstudyroom

phaのPHPとか自習室 このページをアンテナに追加 RSSフィード

PHP(CakePHPとか)、JavaScript(AJAXとか)、MySQL、UNIX、Fireworksなんかを身につけたい><
2007 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2009 | 01 | 02 | 03 | 04 |
2010 | 01 | 06 |
2011 | 01 |

2007-11-25

MVCって何

| MVCって何 - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - MVCって何 - phaのPHPとか自習室 MVCって何 - phaのPHPとか自習室 のブックマークコメント

モデルの話

Post Model作成
<?php

class Post extends AppModel
{
    var $name = 'Post'; //クラス名と同じ
}

?>

クラスファイルの命名方法のおかげで、これで、Post モデルが PostsController の中で利用できるようになります。それはデフォルトデータベースの、'posts' テーブルに結びつきます。

Postクラス -> postsテーブル


コントローラの話

こんとろーらって何だろ

A.7. Posts Controller の作成

>次に、posts 用のコントローラ作成しましょう。コントローラは、post に関するやり取りに関するすべてのロジックを扱うところです。また、このモデルに対するすべてのアクションが含まれています。この新しいコントローラは、 posts_controller.php というファイルになり、 /app/controllers ディレクトリに入れます。

<?php

class PostsController extends AppController
{
    var $name = 'Posts'; //テーブル名と同じ

    function index()
    {
        $this->set('posts', $this->Post->findAll());
    }
}

?>

>少し解説してみましょう。PostsController に index() 関数を定義すると、ユーザhttp://localhost/posts/indexリクエストした時にこのロジックアクセスできるようになります。同様に、 foobar() という関数を定義したとすると、そこには、 http://localhost/posts/foobarアクセスできるようになります。

ユーザhttp://localhost/postsリクエストすると、これは、 http://localhost/posts/indexリクエストしたのと同じになります。


>このアクションの中では、 set() という命令を使って、データをビュー(次に作成します。)に渡しています。この行によって、ビューの中には、'posts' という変数がセットされ、中身は、Post モデルの findAll() メソッドが返した値と同じです。Cake の命名規約に従っているため、 Post モデルは自動的に、$this->Post で利用できるようになっています。

ビューの話

A.8. Post Views の作成

>モデルを使用してデータベース接続できるようになりました。そして、コントローラによって、アプリケーションロジックと流れが定義されました。今度は上で定義した、index アクションに対するビューを作成してみます。