Open Source Web Development Tutorials - Dev Shed
PHPフレームワーク「CodeIgniter」:CMSを作る
(2009/01/23公開)
ビューファイルを追加して、CMSを完成する
映画関連コンテンツ管理システムを完成するためには、前述の「Movies」コントローラクラスで使われるビューファイルをすべて作り上げ、映画のリストと対応するコメントや、それらコメントを該当するMySQLテーブルに挿入するためのHTMLフォームを表示できるようにする必要がある。
最初の「movie_view.php」という名のビューファイルの形はこのようになる。このビューファイルはコメントを付けることのできる映画のリストを表示するために、コントローラによって利用される。ではご覧いただこう:
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $title;?></h1>
<?php foreach($movies as $movie):?>
<h2><?php echo $movie['name'];?></h2>
<p><?php echo $movie['description'];?></p>
<p><?php echo anchor('movie/comments/'.$movie['id'],'View Comments');?></p>
<hr />
<?php endforeach;?>
</body>
</html>
このビューファイルは容易に理解できることだろう。ご覧のとおり、このファイルはデータベースに記録されているすべての映画が表示されるようにできている。また、コメント記入用のWebページにユーザーを導くリンクも含んでおり、特定の映画に新たにコメントを送信することができるようになっている。
下記の表示例を見て、実際にどのように映画が画面に表示されるかをご確認いただきたい:
画面表示を見るとよく理解できることだろう。ではここで、コメント記入用のWebページを表示するためのビューファイルに触れることにしよう。名前は「moviecomment_view.php」で以下のとおり:
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $title;?></h1>
<?php foreach($comments as $comment):?>
<p><?php echo $comment['author'];?></p>
<p><?php echo $comment['text'];?></p>
<p><?php echo anchor('movie','Back to movies');?></p>
<hr />
<?php endforeach;?>
<?php echo form_open('movie/insert_comment');?>
<?php echo form_hidden('movie_id',$this->uri->segment(3));?>
<p>Enter your comments below:</p>
<p><textarea name="text" rows="10"></textarea></p>
<p>Author:</p>
<p><input type="text" name="author" /></p>
<p><input type="submit" value="Submit Comment" /></p>
</form>
</body>
</html>
ご覧のとおり、このビューファイルは2つの重要なタスクを実行している。つまり、特定の映画に対して付けられたコメントをすべて表示し、ユーザーが新しいエントリを書くことのできる基本的なHTMLフォームを提供することだ。
下のスクリーンキャプチャをご覧になれば、このビューファイルの働きをよりよく理解いただけるだろう:
ご理解いただけたように、特定の映画にコメントを付けるためのユーザーインタフェースを作るのも簡単にできる。これらのビューファイルは、当然のことながらCodeIgniterの/system/application/views/フォルダに保存しておくと、後ほど先ほどのコントローラクラスを実行するときに読み込まれる。
今回は簡単なコンテンツ管理システムをCodeIgniterで作ってみた。テストするためには、下記のURLをブラウザのアドレスフィールドに入力する。
http://localhost/codeigniter/index.php/movies/
これで完ぺきだ。先ほど作ったソースファイルがすべてWebサーバーに正しく保存されているなら、アプリケーションは問題なく動くことだろう。
また、どうぞ読者が自分なりにこれらファイルに変更を加え、CodeIgniterでデータベース主導型アプリケーションの開発能力を延ばしていっていただきたい。
最後に
悲しいことに、この連載も結末を迎えることになってしまった。長い旅路ではあったが、得るものも多かっただろう。これまでで、CodeIgniterを使っていくつもの便利なWebアプリケーションをすばやく作る方法を学ぶことができた。
最小限の設定で優しく会得できるPHPフレームワークをお探しなら、CodeIgniterこそがまさに必要なソフトかもしれない。
では、またほかのPHP開発チュートリアルでお会いしよう。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.










