Submit Search
Upload
Composer 再入門
•
38 likes
•
20,600 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
Technology
Report
Share
Report
Share
1 of 31
Recommended
Codeigniter4の比較と検証
Codeigniter4の比較と検証
ME iBotch
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
Takanori Sejima
刊行記念セミナー「HBase徹底入門」
刊行記念セミナー「HBase徹底入門」
cyberagent
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
NAVER D2
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
AWS WAF を使いこなそう Security JAWS #13
AWS WAF を使いこなそう Security JAWS #13
YOJI WATANABE
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
ippei_suzuki
Recommended
Codeigniter4の比較と検証
Codeigniter4の比較と検証
ME iBotch
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
Takanori Sejima
刊行記念セミナー「HBase徹底入門」
刊行記念セミナー「HBase徹底入門」
cyberagent
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
NAVER D2
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
AWS WAF を使いこなそう Security JAWS #13
AWS WAF を使いこなそう Security JAWS #13
YOJI WATANABE
MongoDB概要:金融業界でのMongoDB
MongoDB概要:金融業界でのMongoDB
ippei_suzuki
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
Koichi HARUNA
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
Introduction to memcached
Introduction to memcached
Jurriaan Persyn
DB Monitoring 개념 및 활용 (박명규)
DB Monitoring 개념 및 활용 (박명규)
WhaTap Labs
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
AWS CLIでAssumeRole
AWS CLIでAssumeRole
Tetsunori Nishizawa
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
NTT DATA Technology & Innovation
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
High-speed Database Throughput Using Apache Arrow Flight SQL
High-speed Database Throughput Using Apache Arrow Flight SQL
ScyllaDB
AWS WAF のマネージドルールって結局どれを選べばいいの?
AWS WAF のマネージドルールって結局どれを選べばいいの?
YOJI WATANABE
Nginxを使ったオレオレCDNの構築
Nginxを使ったオレオレCDNの構築
ichikaway
MySQLトラブル解析入門
MySQLトラブル解析入門
Mikiya Okuno
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
Hiroki Ishikawa
サーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよ
koji lin
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
AWS初心者向けWebinar AWSでのコスト削減オプション
AWS初心者向けWebinar AWSでのコスト削減オプション
Amazon Web Services Japan
High throughput data replication over RAFT
High throughput data replication over RAFT
DataWorks Summit
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Vagrant体験入門
Vagrant体験入門
Masashi Shinbara
More Related Content
What's hot
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
Koichi HARUNA
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
Introduction to memcached
Introduction to memcached
Jurriaan Persyn
DB Monitoring 개념 및 활용 (박명규)
DB Monitoring 개념 및 활용 (박명규)
WhaTap Labs
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
AWS CLIでAssumeRole
AWS CLIでAssumeRole
Tetsunori Nishizawa
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
NTT DATA Technology & Innovation
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
High-speed Database Throughput Using Apache Arrow Flight SQL
High-speed Database Throughput Using Apache Arrow Flight SQL
ScyllaDB
AWS WAF のマネージドルールって結局どれを選べばいいの?
AWS WAF のマネージドルールって結局どれを選べばいいの?
YOJI WATANABE
Nginxを使ったオレオレCDNの構築
Nginxを使ったオレオレCDNの構築
ichikaway
MySQLトラブル解析入門
MySQLトラブル解析入門
Mikiya Okuno
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
Hiroki Ishikawa
サーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよ
koji lin
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
AWS初心者向けWebinar AWSでのコスト削減オプション
AWS初心者向けWebinar AWSでのコスト削減オプション
Amazon Web Services Japan
High throughput data replication over RAFT
High throughput data replication over RAFT
DataWorks Summit
What's hot
(20)
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
Introduction to memcached
Introduction to memcached
DB Monitoring 개념 및 활용 (박명규)
DB Monitoring 개념 및 활용 (박명규)
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
AWS CLIでAssumeRole
AWS CLIでAssumeRole
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
High-speed Database Throughput Using Apache Arrow Flight SQL
High-speed Database Throughput Using Apache Arrow Flight SQL
AWS WAF のマネージドルールって結局どれを選べばいいの?
AWS WAF のマネージドルールって結局どれを選べばいいの?
Nginxを使ったオレオレCDNの構築
Nginxを使ったオレオレCDNの構築
MySQLトラブル解析入門
MySQLトラブル解析入門
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
サーバーサイドでの非同期処理で色々やったよ
サーバーサイドでの非同期処理で色々やったよ
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
AWS初心者向けWebinar AWSでのコスト削減オプション
AWS初心者向けWebinar AWSでのコスト削減オプション
High throughput data replication over RAFT
High throughput data replication over RAFT
Similar to Composer 再入門
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Vagrant体験入門
Vagrant体験入門
Masashi Shinbara
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Masashi Shinbara
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
Composer
Composer
Shogo Kawahara
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
Sotaro Omura
PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話
mirai_iro
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
なぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuri
Yuta Okamoto
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
Kazuya Wada
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
Composerはじめました
Composerはじめました
Takashi Nojima
ocamloptの全体像
ocamloptの全体像
Kiwamu Okabe
How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Yahoo!デベロッパーネットワーク
Similar to Composer 再入門
(20)
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Vagrant体験入門
Vagrant体験入門
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Composer
Composer
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
なぜリアクティブは重要か #ScalaMatsuri
なぜリアクティブは重要か #ScalaMatsuri
Tokyo.R#16 wdkz
Tokyo.R#16 wdkz
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Composerはじめました
Composerはじめました
ocamloptの全体像
ocamloptの全体像
How to run P4 BMv2
How to run P4 BMv2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
More from Masashi Shinbara
日本語消えたスライド
日本語消えたスライド
Masashi Shinbara
Twilio入門 -Web アプリ編-
Twilio入門 -Web アプリ編-
Masashi Shinbara
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Masashi Shinbara
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
How to learn Laravel5 application from Authentication
How to learn Laravel5 application from Authentication
Masashi Shinbara
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
開発現場で活用するVagrant
開発現場で活用するVagrant
Masashi Shinbara
PHPコードではなく PHPコードの「書き方」を知る
PHPコードではなく PHPコードの「書き方」を知る
Masashi Shinbara
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
キャラ立ちしたエンジニアになる!
キャラ立ちしたエンジニアになる!
Masashi Shinbara
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
Masashi Shinbara
いまどきのPHP
いまどきのPHP
Masashi Shinbara
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
Masashi Shinbara
サーバの防災訓練
サーバの防災訓練
Masashi Shinbara
Kansai PHP Users Group 2012年活動報告
Kansai PHP Users Group 2012年活動報告
Masashi Shinbara
10分で分かる最近のCakePHP
10分で分かる最近のCakePHP
Masashi Shinbara
More from Masashi Shinbara
(20)
日本語消えたスライド
日本語消えたスライド
Twilio入門 -Web アプリ編-
Twilio入門 -Web アプリ編-
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
How to learn Laravel5 application from Authentication
How to learn Laravel5 application from Authentication
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
ビルドサーバで使うDocker
ビルドサーバで使うDocker
開発現場で活用するVagrant
開発現場で活用するVagrant
PHPコードではなく PHPコードの「書き方」を知る
PHPコードではなく PHPコードの「書き方」を知る
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログイン
キャラ立ちしたエンジニアになる!
キャラ立ちしたエンジニアになる!
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
いまどきのPHP
いまどきのPHP
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
サーバの防災訓練
サーバの防災訓練
Kansai PHP Users Group 2012年活動報告
Kansai PHP Users Group 2012年活動報告
10分で分かる最近のCakePHP
10分で分かる最近のCakePHP
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