連載
» 2007年03月08日 07時30分 UPDATE

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

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

[杉田直哉,ITmedia]

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

Alex@Net Blogについて

 Alex@Net Blogは、Zend Frameworkと同じNew BSD Licenseで公開されているシンプルなブログです(図1)

図1 図1 Alex@Net Blogを実行したところ

 (図1)をご覧になれば分かるとおりシンプルなデザインで、機能も「ブログの作成/編集/削除」、「ブログの閲覧」、「Atomフィードの配信」のみを備える非常に簡単なツールとなっています。このようにシンプルなツールは、実際に利用する上では物足りなく感じるかもしれませんが、逆にいえば、実装を理解してカスタマイズのベースとするにはかなり有用です。

 ここでは、Alex@Net Blogを題材として、Zend Frameworkをどんなふうに使えば良いか解説しましょう。Alex@Net Blogは、次のようなコンセプトで実装されていて、Zend Frameworkの使い方が簡単に学べるようになっています。

  • Zend Frameworkコントローラの使い方の例示
  • Zend_Db_Tableを使用したデータベースデザインの例示
  • View/Model/Controllerパターンの例示
  • Atomフィードの使い方の例示

 Alex@Net BlogのパッケージにはZend Frameworkが含まれており、インストールも容易です。データベースアクセスに使用するPDO_SQLiteの拡張モジュールもPHP 5では標準となっているので、追加インストールも必要ありません。

Alex@Net Blogの導入

 まずは、Alex@Net Blogをインストールして、試しに動かしてみましょう。Alex@Net Blogをインストールするには、まずダウンロードしたzipファイルを展開し、「blog/htdocs」ディレクトリ以下にあるファイルをDocumentRootに配置してください。

 次に、連載第1回の「httpd.confの設定」で説明したDirectoryディレクティブのAllowOverrideに、「Indexes」を追加する必要があります(リスト1)。これは、index.phpと同じディレクトリ階層にある.httaccessが、DirectoryIndexディレクティブを含むためです。逆にいえば、httpd.confを編集したくない場合には.httaccessを編集して、DirectoryIndexディレクティブを削除するだけでも構いません。以上で、インストールは終了です。


<Directory />
    Options FollowSymLinks
    AllowOverride FileInfo Options Indexes
</Directory>

リスト1  httpd.confのDirectoryディレクティブに「Indexes」を追加する

 http://localhost/にアクセスすれば、図1のようなページが表示されるでしょう。このサンプルブログには、すでに1件のブログエントリが登録されていますが、実際のデータは、「blog/htdocs/_/database」ディレクトリに存在するSQLiteデータベースのblogファイルが使われています。

 うまくページが表示されない場合は、PHPランタイムかApacheの設定に問題があると考えられます。httpd.confの設定などを見直してください。また、「blog/htdocs/_/database/sqls」ディレクトリ以下に、データベースセットアップ用のSQLが用意されています(SQLはSQLite/MySQL用です)。データを初期化したい場合などは、このSQLを改造して使うことができます。

       1|2|3|4|5 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -

注目のテーマ

マーケット解説

- PR -