検索
連載

第3回 ブログツールで学ぶ実践的Zend Frameworkの使い方「Zend Framework」で加速するPHP開発(4/5 ページ)

今回は、Zend Frameworkで構築されたブログツールを題材にして、実際にZend Frameworkに備わる機能や使い方を解説します。題材とするブログツールは、Alexatnet.comで提供されている「Alex@Net Blog」です。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

ビュースクリプト

 ビュースクリプトは、大きく分けてHTMLの全体構造を格納したBlogViewと、管理画面用のAdminViewの2つに分かれます。

  • ブログ閲覧用HTMLを出力するBlogView

 前述したように、Blog ControllerではビュースクリプトとしてBlogView.phpが指定されていました。BlogView.phpは、ブログ全体のレイアウトを決定するもので、HTMLのdivタグで、ヘッダ/フッター/サイドバー/コンテンツといった4つの部分に分け、中身はそれぞれ個別のPHPスクリプトへ委譲しています(リスト10)。このように、ビュースクリプトの中でさらに別のビュースクリプトをrenderで読み込む場合でも、assignされた変数などはそのまま受け継がれます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト10 HTMLの全体構造が格納されたBlogView.php

 コンテンツを表示する「Pages/Blog/Index.php」では、assignされた$model配列に含まれるposts変数に対して、foreach文の処理が行われています(リスト11)。posts変数にはブログの各エントリ(=post)が配列で代入されているので、各エントリの表示がプレゼンテーションロジックを通してこのスクリプト内で行われるわけです。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト11 コンテンツを表示する「Pages/Blog/Index.php」のコード
  • 管理画面を出力するAdminView

 AdminView.phpでは、ログイン画面の表示しか行っていません(リスト12)。ログイン後の画面は「Pages/Admin/Posts.php」のビュースクリプトでレンダリングされます。「Pages/Admin/Post.php」は、Admin Controllerの項で説明したHTMLフォームからの受け渡しを行うビュースクリプトとなります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト12 AdminViewのコード

 このHTMLフォームは、コントローラの中で指定したヘルパーを利用しています。「$this->formText」のように参照して、idとなる名称と編集の場合に表示されるvalue、フォームのサイズをarrayで渡しています。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る