早速ですが,
何事をはじめるにも最初は簡単なことからはじめるのが一番です。ゲストブックと呼ばれるアプリケーションを作ってみましょう。
ゲストブックとは
旅館やペンションにて,
ゲストブックは設計が非常にシンプルなのでコンピュータアプリケーションの入門アプリとして広く利用されています。この連載でも最初のアプリケーションはゲストブックにします。
フレームワークなしのゲストブックアプリ
Zend Frameworkを利用したゲストブックアプリケーションを期待されているかもしれませんが,
ゲストブックの仕様
どんなアプリケーションでも仕様が必要です。今回作るゲストブックは以下の仕様をみたすものとします。
- ゲストブックは誰でも記入できる
- タイトル,
メッセージ, 記入日時を記録する - 一覧が参照できる
- セキュリティは特に考慮しない
- エラー処理は考慮しない
- 可能な限り実装を簡略化する
はじめてのZend Frameworkアプリケーションの元となるPHPアプリケーションは,
通常このような実装での公開は大いに問題がありますが,
ゲストブックアプリファイルの配置
ファイルは/www/
自分ですべてのファイルやディレクトリを作成することも可能です。Zend Frameworkは特定のファイルレイアウトを想定していないので,
- ※1
Zend ToolはZend Framework 1.
8から正式なリリースが予定されています。執筆時点で1. 8のPreview版がリリースされていますが, まだ完成度は低いようです。
Zend Toolで作成済みのsample applicationディレクトリを/www/
mkdir /www/guestbook cd /www/guestbook zf project create
前回の解説通りPostgreSQLバイナリ版をインストールしているのであれば,
シンボリックリンクの作成
cd /www ln -s guestbook default
この状態でZend Frameworkの空アプリケーションが動作するか確かめておきましょう。
Hello from the index view script.
と表示されれば正しく動作しています。
ゲストブックデータベースの作成
データベースを作成するスクリプトは用意していないのでコマンドで作成します。データベース作成用のSQLコマンドファイルは次の通りです。
guestbook.
CREATE TABLE guestbook (id SERIAL PRIMARY KEY, title TEXT, content TEXT, date_created TIMESTAMP);
どこでもよいのでguestbook.
/opt/PostgreSQL/8.3/bin/createdb -U postgres guestbook /opt/PostgreSQL/8.3/bin/psql -U postgres -f guestbook.sql guestbook
これでデータベースが作成できました。
備考:この方法ではPostgreSQLのスーパーユーザであるpostgresアカウントに所有されたデータベースが作成されます。運用時にはスーパーユーザをサービスに利用することは好ましくありません。
通常版ゲストブックアプリ
通常版のゲストブックアプリはDocumentRootに配置するだけです
- ※2
この連載の最初に設定した通りであれば,
ApahceのDocumentRootは/www/ default/ publicに設定されています。別のDocumentRootを設定している場合はそのディレクトリを利用してください。