ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    CodeIgniter ビュー

    このエントリーを含むはてなブックマーク はてなブックマーク - CodeIgniter ビュー あとで読む
    CodeIgniter コントローラの続きです。

    今日はMVCのV=ビューを見てみます。

    CodeIgniter ビュー

    ビューは単純にはwebページで、ヘッダ・フッタ・サイドバーのようなページの部品のこともあります。

    ビューは直接的に呼び出されることはなく、コントローラによって読み込まれる必要があります。
    MVC フレームワークにおいては、コントローラが交通整理を行い、それぞれのビューを取り出す責任を持つことを覚えておいてください。



    ビューの作成

    テキストエディタを使って blogview.php という名前のファイルを作成し、その中に下記のように打ち込んでください:


    <html>
    <head>
    <title>My Blog</title>
    </head>
    <body>
      <h1>Welcome to my Blog!</h1>
    </body>
    </html>


    次に、application/views/ フォルダにこのファイルを保存します。



    ビューの読み込み

    それぞれのビューファイルを読み込むには、次のメソッドを使います:

    $this->load->view('name');

    上のname はビューファイルの名前になります。
    Note: .php ファイルの拡張子は不要です。
    ファイルを指定するために、他のフレームワークなどで .php とするようなことは要りません。



    うむ、これがCodeIgniterのビューの基本形だな!

    Smarty入門~PHP5+テンプレート・エンジンでつくるMVCアプリケーション~ Smarty入門~PHP5+テンプレート・エンジンでつくるMVCアプリケーション~
    山田 祥寛 (2005/03/15)
    翔泳社
    この商品の詳細を見る



    ビューをサブフォルダに保存する

    サブフォルダでビューを管理したい場合は、ビューのファイルをサブフォルダに分けて配置することもできます。
    そうした場合、ビューをロードするときにフォルダ名を含めて指定する必要があります。

    $this->load->view('folder_name/file_name');



    ビューに動的データを追加する

    ビュー読み込みメソッドの第2引数に 配列またはオブジェクトを渡すやり方で、ビューにデータを渡すことができます。



    ループの作成

    ビューファイルに渡したデータの配列は、単純な変数だけであるとは限りません。
    ループして複数の行を生成できるように、多次元配列を渡すこともできます。
    たとえば、データベースから持ってきたデータ場合、典型的には、多次元配列に整形されています。


    関連記事

    コメント

    CI+Smarty

    うちのブログにコメント有難う御座います。
    CIユーザーから書き込みがあって嬉しかったです。(というかPHPユーザー)
    CIを試そうと思っていた時期があったんですが、SmartyをCIのビューと同じように使う場合にはどうすればいいのかという点と、layoutの機能があるのかどうか分からなかったので、ZFで進めちゃっています。
    ちなみにZFだと$this->load->view('name');みたいに呼ばなくてもデフォルトでビューが実行されます。
    ビューを呼ぶのが前提なシステムだとその点が非常に楽です。
    でもCIのあのシンプルさならそういう点も独自に作りこめるのかな。

    Re: CI+Smarty

    >kgworksさん
    CodeIgniterに実装されているページキャッシュ機能では、細かいコントロールができないでしょうか?
    その場合、Smartyのページキャッシュ機能を活用するために、CI+Smartyの組み合わせもあり?

    CodeIgniterの海外コミュニティーは活発みたいなので、Tipsやライブラリ等の充実に期待したいです。

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/89-5258c7c4

    FC2Ad