ZendFramework 1.8が2009/4/30にリリースされました。この連載ではZend Framework 1.7を利用してきましたが,今後は1.8を利用します。Zend Framework 1.8は基本的に下位互換です。
それでは1.8の主な新機能を簡単に紹介します。
Zend Framework 1.8の新機能
Zend Framework 1.8の主な新機能は次の通りです。
- Zend_Tool
- プロジェクト,コントローラ,アクション等のスケルトンコードの自動生成
- Zend_Application
- アプリケーションのフレームワーク
- Zend_Navigator
- ナビゲーション
- Zend_CodeGenerator
- コード生成のフレームワーク
- Zend_Serivce_Amazon_Ec2
- Amazon EC2サービス用のインターフェース
- Zend_Service_Amazon_S3
- Amazon S3サービス用のインターフェース
このほかにも多数の機能が追加され,200以上のバグが修正されています。
この連載では1.7に付属していたZend_Toolプレビュー版のコマンドであるzfスクリプトを利用してきました。プレビュー版ということもあり,本来使えるはずのコード生成機能が使えませんでしたが,正式リリースとなりすべての機能が利用できるようになりました。
1.7と1.8のzfコマンドの違い
1.8のzfコマンドでプロジェクトを作成した場合,UNITテスト用のディレクトリが作成されたり,基本的なエラー処理を行うエラーコントローラやビューが用意されるようになりました。プロジェクトを生成して自動的に作成されるデフォルトページも,テキストだけだったものがグラフィックを含んだページに更新されています。
最も重要な違いは,プロジェクトを生成した時にコピーされていたZend Frameworkライブラリがコピーされなくなったことです。シンボリックリンク等を使って,Zend Frameworkのファイルを保存しているZendディレクトリにアクセスできるようにしなければなりません。
Zend Framework 1.8のインストール
ZendFrameworkのダウンロードページから1.8をダウンロードします。
執筆時点(2009/5/9)ではプレビューリリース版のダウンロードページと記載されていますが,ダウンロードできるファイルは正式版のZend Framework 1.8.0です。
今回から/wwwディレクトリにZendFrameworkを展開することにします。
[framework@localhost $ cd /www [framework@localhost www]$ tar zxvf ZendFramework-1.8.0.tar.gz
新しいzfコマンドの使い方
新しいzfコマンドは従来通りシンボリックリンクでパスが通っている場所へリンクを作ってからも利用できますが,マニュアルとチュートリアルには直接スクリプトを実行するように記載されています。好みの方法で起動するとよいでしょう。
[framework@localhost www]$ ZendFramework-1.8.0/bin/zf.sh --help
を実行するとヘルプが参照できます。
プロジェクトの作成
- zf create project path
でプロジェクトが作成できます。プロジェクトを作成してみましょう。
[framework@localhost www]$ ZendFramework-1.8.0/bin/zf.sh create project test
プロジェクトファイルの中身は
[framework@localhost www]$ ls -R test test: application library public tests test/application: Bootstrap.php configs controllers models views test/application/configs: application.ini test/application/controllers: ErrorController.php IndexController.php test/application/models: test/application/views: helpers scripts test/application/views/helpers: test/application/views/scripts: error index test/application/views/scripts/error: error.phtml test/application/views/scripts/index: index.phtml test/library: test/public: index.php test/tests: application library phpunit.xml test/tests/application: bootstrap.php test/tests/library: bootstrap.php
となっており,testディレクトリにテスト用コードが配置され,Zend Frameworkライブラリファイルがコピーされていないことがわかります。Linuxなどのシステムではシンボリックリンクが便利なのでリンクを作ることにします。Windowsの場合はコピーしてしまうほうが簡単です。

