Your SlideShare is downloading. ×
0
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Composer 再入門
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Composer 再入門

10,022

Published on

2013/11/09 KOF2013 …

2013/11/09 KOF2013
http://www.1x1.jp/blog/2013/11/composer-beginners-guide-in-kof2013.html

Published in: Technology
0 Comments
33 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,022
On Slideshare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
0
Comments
0
Likes
33
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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

×