使い方
Composerが動作にはPHP 5.3.2以上が必要
1. composer.pharをダウンロードする
$ curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading…Composer successfully installed to: /home/ayskw/homepage/comp/composer.phar
Use it: php composer.phar
2. composer.jsonを準備する
$ cat composer.json
{
“require”: {
“facebook/php-sdk”: “v3.2.3”
}
}
3. composer.jsonに書かれたライブラリをインストールする
$ ./composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev)
– Installing facebook/php-sdk (v3.2.3)
Downloading: 100%
Installing hamcrest/hamcrest-php (v1.2.2)
Downloading: 100%Installing mockery/mockery (0.9.4)
Downloading: 100%Package facebook/php-sdk is abandoned, you should avoid using it. Use facebook/php-sdk-v4 instead.
Writing lock file
Generating autoload files
4. 内容を確認してみる
実行ディレクトリの直下にvendorディレクトリができてその中に入っている
$ ls vendor/
autoload.php composer facebook hamcrest mockery
5. アップデートする
インストールする場合
: ./composer.phar install
アップデートする場合
: ./composer.phar update
インストールされたパッケージを確認する
: ./composer.phar show -i
インストール可能なパッケージを検索する
: ./composer.phar search [keywords]
実行するとできる composer.lock には必ず必要になるので
プロジェクトをバージョン管理する場合などは含めておくこと
パッケージを探す
対象となるパッケージは、基本的に https://packagist.org/ にある。
また、Githubのコミットハッシュを記述することも可能
$ cat composer.json
{
“require”: {
“facebook/php-sdk-v4” : “4.0.23”,
“kertz/twitteroauth” : “dev-master#e79f24e7a8bc70604c0c78f00b502ff0dc0743b9”,
“michelf/php-markdown” : “1.5.0”
}
}
インストールされたパッケージの使い方
vendor配下にできているautoload.phpを読み出すことで使えるようになる
<?php
require_once("vendor/autoload.php");
$my_text = "";
$my_text .= "# header\n";
$my_text .= "body in [link](http://localhost) ";
use \Michelf\MarkdownExtra;
$my_html = Markdown::defaultTransform($my_text);
print $my_html;
CakePHPをcomposerでインストールする
cokposer.jsonにCakePHPを追加して、configにてインストール先のディレクトリを変更しておく
$ cat composer.json
{
“require”: {
“facebook/php-sdk-v4” : “4.0.23”,
“kertz/twitteroauth” : “dev-master#e79f24e7a8bc70604c0c78f00b502ff0dc0743b9”,
“michelf/php-markdown” : “1.5.0”,
“cakephp/cakephp”: “2.6.*”
},
“config”: {
“vendor-dir”: “Vendor/”
}
}
パッケージをアップデートする
$ ./composer update
CakePHPのBakeを使ってプロジェクトを生成
$ Vendor/bin/cake bake project
ちなみに前項の
自身のベンダーディレクトリにCakePHP自身が入っているというなかなかに面白い状況になる。
デフォルトでは、 bake は CAKE_CORE_INCLUDE_PATH をハードコードするようになっています。
アプリケーションの移植性を高めるためには、 webroot/index.php を修正し、 CAKE_CORE_INCLUDE_PATH を相対パスに変更しましょう。define(
‘CAKE_CORE_INCLUDE_PATH’,
ROOT . DS . APP_DIR . DS . ‘Vendor’ . DS . ‘cakephp’ . DS . ‘cakephp’ . DS . ‘lib’
);