Composerのオートロードだけ利用する

PHP

composerのautoloaderだけ利用したいなという場面があって、
調べてみるとstack overflowで以下のようなものに当たりました。

<?php
include 'autoload.php';

$loader = new \Composer\Autoload\ClassLoader();
$loader->addPsr4('phpseclib\\', __DIR__ . '/path/to/phpseclib2.0');
$loader->register();

// insert your code here

引っ張ってきたコードは上記のような感じです。

composer.json等をいじらなくてもパスさえ通せば、後からでもautoloader利用できるよと。

Composerのuseageで見るとテストとかで利用すると良いよ、ということみたいです。

テストや一時使用したい自作クラスなど参照したい、でもcomposer管理下には直接含めたくない場面が想定される状況でしょうか。

まとめ

requireやinstallコマンドを使う、composer.jsonを書き換えるということはよくやるところかなと思いますが、composer.jsonを経由しないで設置済みのcomposerだけでも便利に使えるのだと思いました。

composerは初期に設置されたんだけど、何らかの事情で後から使うの制限されています、みたいなプロジェクトでも使える書き方かもしれません。

タイトルとURLをコピーしました