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/"
        ]
    }
}

参考にさせていただいたサイト

http://qiita.com/notona/items/c5a087d8dd446d315e6e