Composerはパッケージ管理以外にオートロードという機能を合わせ持ち、require文を使用しなくてもクラスファイルを読み込むことができる
### require文の使い方
Userクラスを作成する
src/User.php
class User{ protected $name; public function __construct($name){ $this->name = $name; } public function get_user_name(){ return $this->name; } }
index.php
require('src/User.php'); $user = new User('taro'); var_dump($user->get_user_name());
composer.json
{ "autoload": { "psr-4": { "Test\\": "src" } } }
php composer.phar dump-autoload
/vendor/composer/autoload_psr4.php
$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( 'Test\\' => array($baseDir . '/src'), );
namespace Test; class User{ protected $name; public function __construct($name){ $this->name = $name; } public function get_user_name(){ return $this->name; } }
なるほど、requireではなく、composerでautoloadできることはわかった。