第3回 ブログツールで学ぶ実践的Zend Frameworkの使い方:「Zend Framework」で加速するPHP開発(4/5 ページ)
今回は、Zend Frameworkで構築されたブログツールを題材にして、実際にZend Frameworkに備わる機能や使い方を解説します。題材とするブログツールは、Alexatnet.comで提供されている「Alex@Net Blog」です。
ビュースクリプト
ビュースクリプトは、大きく分けてHTMLの全体構造を格納したBlogViewと、管理画面用のAdminViewの2つに分かれます。
- ブログ閲覧用HTMLを出力するBlogView
前述したように、Blog ControllerではビュースクリプトとしてBlogView.phpが指定されていました。BlogView.phpは、ブログ全体のレイアウトを決定するもので、HTMLのdivタグで、ヘッダ/フッター/サイドバー/コンテンツといった4つの部分に分け、中身はそれぞれ個別のPHPスクリプトへ委譲しています(リスト10)。このように、ビュースクリプトの中でさらに別のビュースクリプトをrenderで読み込む場合でも、assignされた変数などはそのまま受け継がれます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
コンテンツを表示する「Pages/Blog/Index.php」では、assignされた$model配列に含まれるposts変数に対して、foreach文の処理が行われています(リスト11)。posts変数にはブログの各エントリ(=post)が配列で代入されているので、各エントリの表示がプレゼンテーションロジックを通してこのスクリプト内で行われるわけです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
- 管理画面を出力するAdminView
AdminView.phpでは、ログイン画面の表示しか行っていません(リスト12)。ログイン後の画面は「Pages/Admin/Posts.php」のビュースクリプトでレンダリングされます。「Pages/Admin/Post.php」は、Admin Controllerの項で説明したHTMLフォームからの受け渡しを行うビュースクリプトとなります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このHTMLフォームは、コントローラの中で指定したヘルパーを利用しています。「$this->formText」のように参照して、idとなる名称と編集の場合に表示されるvalue、フォームのサイズをarrayで渡しています。
Copyright © ITmedia, Inc. All Rights Reserved.