Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Submit Search
Composer 再入門
•
38 likes
•
20,640 views
Masashi Shinbara
Follow
2013/11/09 KOF2013 http://www.1x1.jp/blog/2013/11/composer-beginners-guide-in-kof2013.html
Read less
Read more
1 of 31
More Related Content
Composer 再入門
1.
Composer 再入門 2013/11/09 shin1x1 KOF 2013
2.
Agenda • Composer とは •
基本的な使い方 • Tips (c) 2013 Masashi Shinbara @shin1x1
3.
Composer (c) 2013 Masashi
Shinbara @shin1x1
4.
Composer • 依存管理ツール • プロジェクトが必要な依存を管理 •
nodeのnpm / Ruby の Bundler • PHP 5.3.2 以上(5.3.4以上推奨) (c) 2013 Masashi Shinbara @shin1x1
5.
Composer ・ライブラリA ・ライブラリB PHPシステム (c) 2013 Masashi
Shinbara @shin1x1
6.
Composer 依存 ・ライブラリA ・ライブラリB PHPシステム (c) 2013 Masashi
Shinbara @shin1x1
7.
Composer ・ライブラリA ライブラリA ・ライブラリB PHPシステム (c) 2013 Masashi
Shinbara @shin1x1
8.
Composer ・ライブラリA ・ライブラリB ライブラリB ライブラリA PHPシステム (c) 2013 Masashi
Shinbara @shin1x1
9.
Composer 依存 ・ライブラリC ・ライブラリA ・ライブラリB ライブラリB ライブラリA PHPシステム (c) 2013 Masashi
Shinbara @shin1x1
10.
Composer ・ライブラリA ・ライブラリB ライブラリB ライブラリA PHPシステム ライブラリC (c) 2013 Masashi
Shinbara @shin1x1
11.
Composer ・ライブラリA ・ライブラリB ライブラリC ライブラリB ライブラリA PHPシステム (c) 2013 Masashi
Shinbara @shin1x1
12.
Composer • 必要なライブラリやフレームワークを明示 • composer.json
に依存を記述 • コマンドで自動インストール • ライブラリの依存も解決 (c) 2013 Masashi Shinbara @shin1x1
13.
基本的な使い方 (c) 2013 Masashi
Shinbara @shin1x1
14.
Composer の使い方 1. Composerインストール 2.
依存を composer.json に書く 3. composer.phar install (c) 2013 Masashi Shinbara @shin1x1
15.
Composerインストール • インストール(ローカル) $ curl
-sS https://getcomposer.org/ installer | php $ ls! composer.phar •Composer 実行 $ php composer.phar! or! $ ./composer.phar (c) 2013 Masashi Shinbara @shin1x1
16.
composer.json を書く {! "require": {! "zendframework/zend-db":
"2.0.*"! }! } • zendframework/zend-db が必要 • 2.0.* のバージョン (c) 2013 Masashi Shinbara @shin1x1
17.
インストール $ php composer.phar
install! Loading composer repositories with package information! Installing dependencies (including require-dev)! - Installing zendframework/zend-db (2.0.8)! Downloading: 100%! ! zendframework/zend-db suggests installing zendframework/ zend-stdlib (2.0.8)! Writing lock file! Generating autoload files (c) 2013 Masashi Shinbara @shin1x1
18.
インストール $ tree -L
2! .! !"" composer.json! !"" composer.lock! !"" composer.phar! #"" vendor! !"" autoload.php! !"" composer! #"" zendframework インストールされた バージョンを記録 ライブラリは vendor/ にインストールされる (c) 2013 Masashi Shinbara @shin1x1
19.
PHPコードで利用 <?php! require_once __DIR__.'/vendor/autoload.php';! ! use ZendDbAdapterAdapter;! use
ZendDbTableGatewayTableGateway;! Composer用 ! オートローダー $adapter = new Adapter([! 'driver' => 'Pdo_Pgsql',! 'database' => 'shin',! 'username' => 'shin',! 'password' => 'pass',! ]);! ! $table = new TableGateway('samples', $adapter);! $rowset = $table->select(['id' => 1]);! var_dump($rowset->current()); (c) 2013 Masashi Shinbara @shin1x1
20.
Tips (c) 2013 Masashi
Shinbara @shin1x1
21.
Git での管理 $ tree
-L 2! .! !"" composer.json! !"" composer.lock! !"" composer.phar! #"" vendor! !"" autoload.php! !"" composer! #"" zendframework Git で管理 Git には入れない .gitignoreへ (c) 2013 Masashi Shinbara @shin1x1
22.
バージョンを更新 $ php composer.phar
update • バージョンチェックして新しいものがあれば インストール • composer.lock を更新 (c) 2013 Masashi Shinbara @shin1x1
23.
依存を追加 $ ./composer.phar require
パッケージ名 バージヨン • composer.json を更新 (composer.json が無ければ生成) • composer.phar install を実行 (c) 2013 Masashi Shinbara @shin1x1
24.
ワンライナーでインストール $ ./composer.phar require
パッケージ名 バージヨン • composer.json を書かなくても良い • composer.phar install を実行 (c) 2013 Masashi Shinbara @shin1x1
25.
デバッグログ出力 •-v / -vv
/ -vvv オプション $ ./composer.phar install -vvv! Reading ./composer.json! Executing command (CWD): git describe --exact-match --tags! Executing command (CWD): git branch --no-color --no-abbrev -v! Executing command (CWD): hg branch! Loading composer repositories with package information! Downloading http://composer-proxy.jp/proxy/packagist/ packages.json! Downloading http://composer-proxy.jp/proxy/packagist/ packages.json! Downloading http://composer-proxy.jp/proxy/packagist/ packages.json (c) 2013 Masashi Shinbara @shin1x1
26.
パッケージを見つける • パッケージを探す $ ./composer.phar
search キーワード • パッケージ詳細を見る $ ./composer.phar show パッケージ • ブラウザ https://packagist.org/ (c) 2013 Masashi Shinbara @shin1x1
27.
スケルトンプロジェクト作成 • Symfony $ ./composer.phar
create-project symfony/ framework-standard-edition Symfony 2.3.0 • Laravel $ ./composer.phar create-project laravel/ laravel your-project-name • CakePHP3(dev) $ ./composer.phar create-project cakephp/app cakephp dev-master (c) 2013 Masashi Shinbara @shin1x1
28.
Composer が遅い http://composer-proxy.jp/ (c) 2013
Masashi Shinbara @shin1x1
29.
参考 http://getcomposer.org/ (c) 2013 Masashi
Shinbara @shin1x1
30.
まとめ • デファクトスタンダード • 依存を明示 •
コマンドで自動解決 • どの環境でも同じ構成を再現 • バージョンアップが楽 (c) 2013 Masashi Shinbara @shin1x1
31.
@shin1x1 (c) 2013 Masashi
Shinbara @shin1x1