Zend Framework2.0 を試してみる
Zend Framework2.0 の現在のステータスは 2.0.0dev1 と思いっきり開発中なので地雷満載と思われるので、まだお勧めしない。
zf2 の最新リポジトリは Git にある(Github にもあるがこれはミラー)。
とりあえず clone してみる。
$ git clone git://git.zendframework.com/zf.git Cloning into zf... remote: Counting objects: 93700, done. remote: Compressing objects: 100% (18880/18880), done. remote: Total 93700 (delta 72436), reused 89502 (delta 68474) Receiving objects: 100% (93700/93700), 40.70 MiB | 383 KiB/s, done. Resolving deltas: 100% (72436/72436), done.
全部落ちてくるのに時間がかかる。
終わったら library を php.ini の include_path に追加する。
とりあえず zf コマンドを動かしてみる。
$ cd zf/bin $ php zf.php show version Warning: include_once(Zend/Tool/Framework/Client/Console/Console.php): failed to open stream: No such file or directory in /var/php/zf/library/Zend/Loader.php on line 151
エラーが大量にでる…。
とりあえず zf.php の中を見てみる。
<?php $console = new Zend\Tool\Framework\Client\Console\Console($configOptions);
クラス名が間違っている…。
Console が一つ多いので削る。
$ php zf.php show version Warning: include_once(Zend/Tool/Framework/Client/ResponseDecorator/AlignCenter.php): failed to open stream: No such file or directory in /var/php/zf/library/Zend/Loader.php on line 151
これもインスタンス生成時のクラス名が間違っている。
とりあえず、diff ったもの
$ diff -u zf.php.orig zf.php --- zf.php.orig 2010-07-22 22:05:16.000000000 +0900 +++ zf.php 2010-07-22 22:06:43.000000000 +0900 @@ -607,7 +607,7 @@ Zend\Loader\Autoloader::getInstance(); - $console = new Zend\Tool\Framework\Client\Console\Console($configOptions); + $console = new Zend\Tool\Framework\Client\Console($configOptions); $console->dispatch(); return null; }
$ diff -u Console.php.orig Console.php --- Console.php.orig 2010-07-22 22:28:59.000000000 +0900 +++ Console.php 2010-07-22 22:32:07.000000000 +0900 @@ -185,18 +185,18 @@ { $response = $this->_registry->getResponse(); - $response->addContentDecorator(new ResponseDecorator\AlignCenter()); - $response->addContentDecorator(new ResponseDecorator\Indention()); - $response->addContentDecorator(new ResponseDecorator\Blockize()); + $response->addContentDecorator(new Console\ResponseDecorator\AlignCenter()); + $response->addContentDecorator(new Console\ResponseDecorator\Indention()); + $response->addContentDecorator(new Console\ResponseDecorator\Blockize()); if (function_exists('posix_isatty')) { - $response->addContentDecorator(new ResponseDecorator\Colorizer()); + $response->addContentDecorator(new Console\ResponseDecorator\Colorizer()); } $response->addContentDecorator(new \Zend\Tool\Framework\Client\Response\ContentDecorator\Separator()) ->setDefaultDecoratorOptions(array('separator' => true)); - $optParser = new ArgumentParser(); + $optParser = new Console\ArgumentParser(); $optParser->setArguments($_SERVER['argv']) ->setRegistry($this->_registry) ->parse();
改めて…。
$ php zf.php show version Zend Framework Version: 2.0.0dev1