Zend Framework2.0が出ていました。
使ってみた人の記事を見つけたのですが、何語で話してるのかさっぱりわかりません。
仕方ないので自分でやってみます。
ZendFramework1はpear installでインストールできたのですが、ZF2では今のところそういうことはできないみたいです。
インストールガイドにはPyrusとかComposerとか意味の分からないことが書いてあってどうにもなりません。
いや、開発とかバージョン管理とかどうでもいいんで、あとWindowsなのでwgetとかcurlなんて洒落たものはないんです。
今回はComposerを使ってインストールしてみます。
というかComposerをインストールしてみます。
Composerは、JSONで設定ファイルを書けば適当にダウンロードしてくれてオートローダも書いてくれるよ、というもののようです。
Pearでよくね?と思いますが、Pearに対応していないはずのGithubとかの他所のサイトでも、設定ファイルを書けばよきにはからってくれるよ、というのがComposerの売りのようです。
とりあえず適当な場所にComposerをダウンロード。
> php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
どうなるかというと、単にcomposer.pharというpharファイルがひとつダウンロードされるだけです。
そのくらい普通にブラウザでダウンロードさせてくれよ。
このファイルがある時点でComposerのインストールは完了しているので、次はこれを使ってZF2をインストールします。
composer.pharと同じ場所にcomposer.jsonを作成し、中に↓をコピペ。
> php composer.phar install
今回の設定では、zend-configとzend-http、および両者が依存しているパッケージをまとめてインストールしてくれます。
やったね。
と言いたいところですが、これZFのパッケージまとめて全部インストールできないっぽいんですができないの?
"zendframework": "2.0.*",
"zendframework/": "2.0.*",
"zendframework/*": "2.0.*",
とか書いてみても動きませんでした。
結局全パッケージに対して70行くらい延々書き並べたんですが、絶対もっとましな方法があるだろ、これ。
一度インストールすると、そのインストール情報がcomposer.lockに書き込まれます。
このファイルを別環境に持っていってcomposer.phar installすると、その全く同じバージョンがインストールされます。
つまり、これを使えば同じ環境を簡単に用意することができるということのようです。
composer.jsonに追記を行ったり、インストールしたパッケージの更新をする場合は、
> php composer.phar update
とします。
今回はZendだけですが、Composerでは設定を書けば色々なサイトからファイルを取得してインストールすることが可能なようです。
ということで、これが真価を発揮するのはインストール時よりアップデート時になるでしょう。
JSONさえ書いてしまえばコマンド一発でアップデートとか便利ですね。
と思いきやたまにエラーが。
> [RuntimeException]
> Package could not be downloaded, 'svn' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
だからWindowsにはsvnなんて気の利いたコマンドはないんだってば。
使ってみた人の記事を見つけたのですが、何語で話してるのかさっぱりわかりません。
仕方ないので自分でやってみます。
ZendFramework1はpear installでインストールできたのですが、ZF2では今のところそういうことはできないみたいです。
インストールガイドにはPyrusとかComposerとか意味の分からないことが書いてあってどうにもなりません。
いや、開発とかバージョン管理とかどうでもいいんで、あとWindowsなのでwgetとかcurlなんて洒落たものはないんです。
今回はComposerを使ってインストールしてみます。
というかComposerをインストールしてみます。
Composerは、JSONで設定ファイルを書けば適当にダウンロードしてくれてオートローダも書いてくれるよ、というもののようです。
Pearでよくね?と思いますが、Pearに対応していないはずのGithubとかの他所のサイトでも、設定ファイルを書けばよきにはからってくれるよ、というのがComposerの売りのようです。
とりあえず適当な場所にComposerをダウンロード。
> php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
どうなるかというと、単にcomposer.pharというpharファイルがひとつダウンロードされるだけです。
そのくらい普通にブラウザでダウンロードさせてくれよ。
このファイルがある時点でComposerのインストールは完了しているので、次はこれを使ってZF2をインストールします。
composer.pharと同じ場所にcomposer.jsonを作成し、中に↓をコピペ。
{ "repositories": [ { "type": "composer", "url": "http://packages.zendframework.com/" } ], "require": { "zendframework/zend-config": "2.0.*", "zendframework/zend-http": "2.0.*" } ,"minimum-stability": "beta" }次に以下のコマンドを実行すると、composer.jsonの中身を読んで、必要なものを自動的にインストールしてくれるみたいです。
> php composer.phar install
今回の設定では、zend-configとzend-http、および両者が依存しているパッケージをまとめてインストールしてくれます。
やったね。
と言いたいところですが、これZFのパッケージまとめて全部インストールできないっぽいんですができないの?
"zendframework": "2.0.*",
"zendframework/": "2.0.*",
"zendframework/*": "2.0.*",
とか書いてみても動きませんでした。
結局全パッケージに対して70行くらい延々書き並べたんですが、絶対もっとましな方法があるだろ、これ。
一度インストールすると、そのインストール情報がcomposer.lockに書き込まれます。
このファイルを別環境に持っていってcomposer.phar installすると、その全く同じバージョンがインストールされます。
つまり、これを使えば同じ環境を簡単に用意することができるということのようです。
composer.jsonに追記を行ったり、インストールしたパッケージの更新をする場合は、
> php composer.phar update
とします。
今回はZendだけですが、Composerでは設定を書けば色々なサイトからファイルを取得してインストールすることが可能なようです。
ということで、これが真価を発揮するのはインストール時よりアップデート時になるでしょう。
JSONさえ書いてしまえばコマンド一発でアップデートとか便利ですね。
と思いきやたまにエラーが。
> [RuntimeException]
> Package could not be downloaded, 'svn' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
だからWindowsにはsvnなんて気の利いたコマンドはないんだってば。
PR