Composerを使う
Composer とは
Composer は PHP パッケージの管理ツールです。
https://getcomposer.org/
目的のパッケージだけでなく、依存関係を調べて必要なパッケージをインストールもしてくれます。
Packagist
Composer でインストール可能な公開パッケージは Packagist で検索できます
https://packagist.org/
インストール
Mac の場合
$ curl -sS https://getcomposer.org/installer | php
このままだと毎回 php composer.phar と打たないといけないので、バイナリファイルをパスの通った場所に移します。
$ mv composer.phar /usr/local/bin/composer
composer.json
Composerはcomposer.jsonファイルを元にパッケージをインストールしvendorディレクトリ以下に配置します。
Lumen を例にとるとこんな感じです。
{ // パッケージ名 "name": "laravel/lumen", // パッケージの説明 "description": "The Laravel Lumen Framework.", // キーワード "keywords": ["framework", "laravel", "lumen"], // ライセンス "license": "MIT", // パッケージのタイプ。library, project, meta-package などがある。 // library: ファイルをコピーして使うようなタイプの場合 // project: ファイル単体というよりもアプリとして機能を提供するようなタイプの場合 // meta-package: requirementsが記載されただけでファイルおよびファイルの変更がないようなもの "type": "project", // composer update か install で インストールするパッケージとバージョンです。 "require": { "php": ">=5.5.9", "laravel/lumen-framework": "5.2.*", "vlucas/phpdotenv": "~2.2" }, // require と違うのは composer update か install で --no-dev オプションを付けるとインストールされないこと "require-dev": { "fzaninotto/faker": "~1.4", "phpunit/phpunit": "~4.0" }, // psr-4 のオートロードをサポートしてます。 "autoload": { "psr-4": { "App\\": "app/" } }, // "autoload-dev": { "classmap": [ "tests/", "database/" ] } }