PHPでは長らく依存関係の管理ツールが使われてなかったようですが、Technology radarでもAdoptになってることですし使わない理由がありません。
それとクラス名の衝突をさけるためにもNamespaceの利用も外せません。
でいちいちrequireするのも面倒なのでautoloadも必須です。
ということで調べたところ簡単だったので残しておきます
composerインストールされてない場合はインストール
$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
composer.jsonを作って下記を追加。
もしくはすでにある場合はautoloadのところを編集/追加。
composer.json
{
"autoload": {
"psr-4": {
"Proj\\": "src/",
}
}
}
### まだcomposer install/updateやってない場合
$ composer install
### すでにcomposer install/updateやってる場合
$ composer dump-autoload
これでvendor/autoload.phpとvendor/composer/auttoload_psr4.php(ほかにも)が作成される
以上で設定は終わり
あとは使う側でvendor/autoload.phpをrequire_onceするだけ