Composerからのautoloadって
とりあえずapp/autoload.phpに書いてみたものの、Composerが気になります。
Composerが依存管理してるなら、次はどうすれば良いんだろ。
vendor/composer/installed.jsonを読むと"autoload"の記述が。
composer.jsonにもあるけど、ここで良いのかな。
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/",
"Doctrine\\Bundle": "vendor/bundles",
"Doctrine\\Common\\DataFixtures": "vendor/doctrine-fixtures/lib",
"Gedmo": "vendor/gedmo-doctrine-extensions/lib",
"Stof": "vendor/bundles"
}
※以下、省略
てな感じで、composer.jsonの"autoload"に追加してみました。
そして、この記述を反映するにはcomposer.pharを使うらしい。
プロジェクト内を"find ./ -name composer.phar -print"で探すが見つからず。
素直にダウンロードしてcomposer.jsonのディレクトリにcomposer.pharを用意。
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar install
自動生成のプロセスが進み、無事に終了。
vendor/composer/autoload_namespaces.phpを確認したら、期待通り反映されてました。
app/autoload.phpに記述するのと、どちらが良いんだろ。
....
ちょっと魔が差して、ついでにアップデートも。
$ php composer.phar update
あれよあれよと言う間に、Symfony2関連も更新されて、ちょっとびっくり。
いや、当然なんですけど、何せ初めて目にする動作で心の準備が…。
この作業してて思ったのですが、Composer使うとパッケージ類の扱いは楽になるんですね。
"require"に記述してあれば、依存関係を見てダウンロードくれるし。
もちろんautoloadのお膳立てまでしてくれるし。この先が楽しみです。
....
そもそもPHP界隈の事情に詳しくない私。これら一連の作業って正しいのでしょうか?
大きな勘違いしてなきゃいいのですが…。