Help us understand the problem. What is going on with this article?

Composerについてのメモ

More than 3 years have passed since last update.

概要

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;

参考サイト

以上

reflet
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした