composerを使ったautoload

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できることはわかった。