LoginSignup
13
17

More than 5 years have passed since last update.

Composerについてのメモ

Last updated at Posted at 2017-08-11

概要

PHPのComposerについて、忘れないようメモを残しておく。

Composerとは

PHPのパッケージ管理システム

インストール

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ composer --version
Composer version 1.5.1 2017-08-09 16:07:22

Packagist.org

だれでもパッケージを公開できるcomposerの中央公開リポジトリです。
composerで使えるパッケージが検索できます。

composerの設定ファイル

composer.json

composerで管理する依存パッケージを定義するためのファイル。
自分で作成する(vi composer.json)か、composer initで対話的に作成できる。

composer.json
{
    "require": {
        "ircmaxell/random-lib": "1.0.0",
    }
}

composer.lock

チーム内で同じバージョンを共有するための仕組み。
composer install/updateでインストールされたパッケージのバージョンを記録。
※ githubなどのリポジトリにてバージョン管理する必要があります。

[composer installした場合]
composer.lockがあれば、記されたバージョンのパッケージがインストールされる。

[composer updateした場合]
composer.lockに記されたバージョンを無視して、
composer.jsonに記載の範囲で最新版に更新される。

vendorフォルダ

composer installコマンドにてインストールされたプログラムは、
composer.jsonと同じ階層にあるvendorフォルダ内に配置されます。

ただし、composer.jsonにて任意のパスが指定されている場合は
その指示の場所に配置されます。

$ composer install
$ ls -la
composer.json
composer.lock
vendor

$ ls -la vendor/
autoload.php
composer
ircmaxell

autoloader

vendorフォルダ内にautoload.phpが自動で作られます。

autoload.phpを作成するプログラム側でrequireすれば、
composerでインストールしたクラスを自動的にロードしてくれます。

<?php
require_once 'vendor/autoload.php';

$factory = new RandomLib\Factory;

参考サイト

以上

13
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
17