※2017/02/17追記
以下の記事は既に実行できない状態です。
(思い出として残しておきますが)
いまではcomposer.jsonに指定のpearライブラリを書くだけでいけます。
{
"require": {
"pear/pear": "@dev",
"pear/db": "@dev",
"pear/log": "@dev"
}
}
対象のパッケージについては以下を参照ください。
https://packagist.org/search/?q=pear
PEARについてそれはそれは大量の記事を書いてきたのは今ではいい思い出。
関連記事:
- [composer 経由で github からインストールする方法]
[composer 経由で github からインストールする方法]:http://qiita.com/dozo/items/20ff31816ff2b7d4b299
ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪
------------------- ↓ 余談はここから ↓-------------------
PHPのライブラリが全部Packagistにあるとは思ってはいけない。
PHPのパッケージ管理はPEARからcomposerに移ったとはいえ、
全部が全部移ったわけではなく、
すでに開発者が放置したものも数多くある。
ただ、それを使うがためだけにPEARをインストールするのも大掛かりすぎるし、
PEAR2ことpyrusはあまりに使い物にならない。
じゃあ、composerでPEARを使う方法を考えるかという流れ。
特に難しいことはない。
------------------- ↑ 余談はここまで ↑-------------------
ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪
------------------- ↓ 本題はここから ↓-------------------
インストール
PEAR::Logをインストールすることをサンプルにcomposer.jsonを記述する
composer.jsonのrepositoriesとrequireは以下のようになる
・・・
"repositories": [
{
"type": "pear",
"url": "http://pear.php.net"
}
],
"require": {
"pear-pear.php.net/PEAR": "*@stable",
"pear-pear.php.net/Log": "*@stable"
},
・・・
この状態で以下を実行
$ php composer.phar update
サンプル実行
では実際に使ってみよう。
composerを使うときは冒頭にautoloadをrequireする。
個別にrequire("Log")とかは不要で、
使うとき自動で該当するライブラリを探してrequireしてくれる。
<?php
require_once("vendor/autoload.php");
$logger = Log::factory('console', '', 'TEST');
$logger->log('Logging to the console.');
ね!簡単でしょ!
------------------- ↑ 本題はここまで ↑-------------------
ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪
------------------- ↓ 補足はここから ↓-------------------
個人的にはcomposerは「composer.jsonを編集」という工程がわかりにくい原因だと思っている。
なのですべてコマンドラインでやった場合どうなるかを見てみよう。
例のごとくインストール作業から。
pearというディレクトリを作りそこにインストールしてみる。
composerコマンドを打つたびにcomposer.jsonが変化していくので、
わからなければ確認しながらやるといいだろう。
$ mkdir pear
$ cd pear
$ php -r "readfile('https://getcomposer.org/installer');" | php # composer.pharのダウンロード
$ php composer.phar init -n -s stable # composer.jsonの生成
$ php composer.phar config bin-dir "bin/" # binディレクトリの指定
$ php composer.phar config repositories.0 pear http://pear.php.net # repositoriesにpearを登録
$ php composer.phar require "pear-pear.php.net/PEAR=*" # PEARのインストール
$ php composer.phar require "pear-pear.php.net/Log=*" # PEAR::Logの追加
ちなみに以下のようにリポジトリの配列名を指定すればリポジトリを追加できる
$ php composer.phar config repositories.1 pear http://pear2.php.net # repositoriesにpear2を登録
もうpyrusはいらない。