こんにちは。
職人見習いの高嶋です。

PHP + ZendFrameworkのコンビでシステムを構築する際の手順を数回に分けて記していきます。

ZendFrameworkはオープンソースのフレームワークで、多様性に富んでいますが、堅いルールに縛られる事のないフレームワークなので好んで使用しています。

ただ堅いルールが無い分、開発者によって十人十色の構造形態になりやすく、私もこれから書く構築方法がベストなのかは不明です。

■目標

一般的なシステムはユーザ側と管理者側にシステムが分かれていて且つユーザ側のURLにはパスInfo的にパラメータが付加・制御できれば大概のモノが作れると思います。

http://hoge.jp/admin/ => 管理側URL
http://hoge.jp/12345/fuga => ユーザ側のURL一例

特に上記のユーザ側URLの例は一般的には下記の形が未だ多く見られますが、見栄えを良くしようと思います。
これにより、SEO的にも良いと思います。

http://hoge.jp/fuga.php?id=12345

前提としては以下の条件下での説明となります。

CentOS v5.x
PHP v5.3.x
ZendFramework v1.11.11
Smarty 3.1.7
PostgreSQL v8.4.x

プロジェクトディレクトリ /web/hoge

■ZendFrameworkのダウンロード

Zend Framework: Downloads

上記から最新の『Zend Framework Full Package』をダウンロードします。
Webサーバ機能が付いたパッケージとかありますが、シンプルにフレームワークのみ利用します。

ダウンロード、解凍後下記に置きます。

/usr/local/ZendFramework

■プロジェクトディレクトリの作成

ZendFrameworkにはターミナル上からコマンドでディレクトリ雛型を作成してくれるCLIツールが備わっています。

> cd /web/hoge
> /usr/local/ZendFramework/bin/zf.sh create project hoge

するとプロジェクトのディレクトリの基本構造がMVC構成で作成されます。

┬ .zfproject.xml
├ application
│├ Bootstrap.php
│├ configs
││└ application.ini
│├ controllers
││├ IndexController.php
││└ ErrorController.php
│├ models
│└ views
│ ├ helpers
│ └ scripts
│  ├ [コントローラ名]
│  │├ index.phtml
│  │└ [アクション名].phtml
│  └ error
├ library
└ public
 ├ .htaccess
 └ index.php

以下のURLにアクセスして画面が表示されれば問題ありません。

http://hoge.jp/index
※indexは省略可能

※この記事は、なかの人(piro556)が書いています。