ZendFramework Preview
いしなおさんによると、今年中には1.0が出るらしいので、本格的にZend Frameworkを調べてみる。
ZendFrameworkもPEARと同じでお手軽にパッケージを登録できる感じはないので、自分用のチャネルサーバが欲しいと思った。
とりあえず、放置してた作業コピーでsvn upする。
trunkの中身は
LICENSE.txt NEWS.txt README.txt demos documentation incubator library tests
こんな感じ。
demosに新しいdemoがいくつか登録されていました。
incubatorは実験段階のパッケージで、採用されるとlibraryの中に移動するという事だと思います。
testsはPHPUnit2を使った単体テストが入ってる模様。試しにAllTests.phpを実行してみたところ。
......................................... ........ Fatal error: Maximum execution time of 60 seconds exceeded in /home/tnaga/files/ZendFramework/library/Zend/Cache/Core.php on line 153
・・・('・ω・`)
気を取り直して、libraryの中身はどんな風になっているかと覗いてみると。
Zend/ Zend.php
Zend.phpはユーティリティクラスらしいです。
* Utility class for common functions. private function __construct() static public function loadClass($class, $dirs = null) static public function loadInterface($interface, $dirs = null) static public function loadFile($filename, $dirs=null, $once=false) static public function isReadable($filename) static public function dump($var, $label=null, $echo=true) static public function register($name, $obj) static public function registry($name=null) static public function isRegistered($name)
ファイル/クラスローダとregistry用のメソッドが3つとDumperしかありません。
Zend/の中は色々入っていてよくわからないですが、とりあえず概観を見る為にディレクトリだけ抜き出してみました。
Search_LuceneとPdfのファイルが多いですが、それを抜かすとこんな感じ。
(Search_LuceneもPdfも仕事上まず使わなさそうなので割愛)
Http Http/Client Log Log/Adapter Mail Mail/Transport Controller Controller/Router Controller/Router/Route Controller/Dispatcher Controller/Front Controller/Action Controller/Plugin Filter Db Db/Select Db/Adapter Db/Adapter/Pdo Db/Adapter/Oracle Db/Adapter/Db2 Db/Profiler Db/Statement Db/Statement/Oracle Db/Statement/Db2 Db/Table Db/Table/Row Mime Uri Service Service/Yahoo Service/Amazon Service/Flickr Feed Cache Cache/Frontend Cache/Backend Search XmlRpc XmlRpc/Value XmlRpc/Client Json View View/Helper View/Filter Config
Frameworkとして最低限のパッケージはあるよな感じでしょうか。
一方でincubatorは
Console Mail Mail/Transport Db Db/Xml Db/Adapter Form Form/behaviors Form/javascript Form/validators Form/elements Mime View View/Helper Locale Locale/Data Http Http/Client Measure Measure/Cooking Measure/Viscosity Measure/Flow XmlRpc XmlRpc/Server XmlRpc/Server/CallbackParser Currency Date
Measureは単位の変換ユーティリティでしょうか?
とりあえず、ディレクトリ上でわかるコンポーネントはこんな感じです。
ZFormがlibraryに移動した段階でちょっと何か作ってみたいと思います。