phpunitでは、autoload.phpを以下の3か所から探している。
__DIR__ . '/../../autoload.php'
__DIR__ . '/../vendor/autoload.php'
__DIR__ . '/vendor/autoload.php'
foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php') as $file) {
if (file_exists($file)) {
define('PHPUNIT_COMPOSER_INSTALL', $file);
break;
}
}
ざっくりいうと、普通にインストールしたとき用と、composer.jsonでbin-dir
をbin
にしたとき用と、あとは開発時用みたいなことなんだけど、細かく言うとcomposer installがbinに対して何をやっているのか、シンボリックリンクが使える場合と使えない場合についての説明が必要なのでそのうち書くかも。