671 文字
3 分
コピペで出来るComposer導入
概要
- 1日目の「PHPのプロパティをStrictに定義する」に続きまして、PHP Advent Calendar 2013 2日目です
- 今後、Composerベースでの記事が出来ると思うので、早めに解説しておきます!
- コピペで導入できるように心がけます。
Composerとは
導入
Composerは、既存のプロジェクトなどにも簡単に導入できます。
アプリを構築するディレクトリを作ります
今回はスクラッチからアプリを作成することを想定します。
% mkdir app% cd appComposerをインストールします
% curl -sS https://getcomposer.org/installer | phpcomposer.pharというファイルが作成されます。
composer.pharはPHPプログラムのアーカイブです。
ライブラリをインストールします
guzzleという、HTTPクライアントをインストールしてみます。
composer.jsonに利用するライブラリの設定を書き込みます。
% echo '{ "require": { "guzzle/guzzle": "~3.7" }}' > composer.jsonrequireキーに、ライブラリ名とそのバージョン指定を記載します。ライブラリ名はpackagistで検索できます。
composerのupdateサブコマンドで、必要ファイルをダウンロードします。この際、依存するパッケージがある場合は自動的に依存するファイルもダウンロードされます。
% php composer.phar update初めてupdateコマンドを実行すると、composer.lockとvendorディレクトリが作成されます。
composer.lockには、現在利用しているライブラリの名前とバージョンが記載されます。vendorディレクトリには、ライブラリ自体のファイルなどが保存されます。
% lscomposer.json composer.lock composer.phar vendor/ライブラリを利用する
Yahoo! Japanへ接続して、コードを表示するスクリプトを書いてみます。
% vi test.phpファイルの中身
<?php// クラスローダーを読み込むrequire 'vendor/autoload.php';
// ヤフーへ接続するHTTPクライアントのインスタンスを作成$client = new \Guzzle\Http\Client('http://www.yahoo.co.jp/');
// GETリクエストを送る準備$request = $client->get('/');
// HTTPリクエストを送信$response = $request->send();
// レスポンスを表示print_r($response);実行してみます
とりあえず、HTTPレスポンスが出力されます。
% php test.php | headHTTP/1.1 200 OKDate: Mon, 02 Dec 2013 15:22:10 GMTP3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"Expires: -1Pragma: no-cacheCache-Control: private, no-cache, no-store, must-revalidateX-XRDS-Location: http://open.login.yahoo.co.jp/openid20/www.yahoo.co.jp/xrdsVary: Accept-EncodingConnection: closeTransfer-Encoding: chunkedまとめ
- Composerをインストールし、guzzleライブラリをインストールしました
- guzzleを使ってPHPスクリプトを作成しました。
コピペで出来るComposer導入
https://blog.teraren.com/posts/composer/