SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Packagist
め
す

への登録と

す
お

パッケージ
@slywalker (Yasuo Harada)
abou

t me
@slywalker
follo
w

@slywalker

me!
github.com/slywalker
fork
m

github.com/slywalker

e!
PHPエンジニア
養成読本
buy

PHPエンジニア
養成読本

now

!
star

now

!
大阪で
AWS+PHP(CakePHP)+MyS
QLを主に使って開発を行って
います。
Packagist
ライブラリを
登録してみよう!
ライブラリ準備
• 数字判定ライブラリ

(奇数、偶数、素数)

• PSR-0に従ったnamespace

名前空間の命名規則


<Vendor Name>(<Namespace>)*<Class Name>

•

https://github.com/slywalker/kof-sample-number
ライブラリ準備
.
├── README.md
├── composer.json
├── src
│   └── Kof
│  
└── Number.php
└── tests
├── Kof
│   └── Test
│  
└── NumberTest.php
└── bootstrap.php
Number.php
<?php
namespace Kof;
!

class Number
{
!

public $number = null;
!

public function __construct($number = null)
{
if (!is_null($number)) {
$this->set($number);
}
return $this;
}
composer.json
{
"name": "kof-sample/number",
"require": {
"php": ">=5.4"
},
"autoload": {
"psr-0": {"Kof": "src/"}
}
}

最低限これだけは必要
composer.json
{
"type": "library",
"description": "Number discrimination library",
"keywords": ["number", "even", "odd", "prime"],
"homepage": "https://github.com/slywalker/kof-sample-number",
"license": "MIT",
"authors": [
{
"name": "Yasuo Harada",
"email": "slywalker.net@gmail.com",
"homepage": "https://github.com/slywalker"
}
],
}

あると喜ばれる
おまけ
Travis-CI
• オープンソースコミュニティの為の、
ホスティング型継続的

インテグレーションサービス

• GitHubと連携し多数の言語を

スムーズにサポート

• git push のたびにテストがはしる
.travis.yml
language: php
!

php:
- 5.3
- 5.4
- 5.5
!

script:
- phpunit --bootstrap="tests/bootstrap.php" tests/
め
す

パッケージ

す
お
endroid/qrcode
• QRコードを生成するライブラリ
• 他にもいろいろありますが、


Packagistにもあるよってことで
inlinestyle/inlinestyle
• スタイルシートをHTMLのインライン
スタイルに適用するライブラリ

• 昔はガラケー用に需要がありました

が、現在もHTMLメールへの需要があ
る。
keboola/csv
• CSVファイルの読み込み、書き込み
• こういう処理はライブラリを使って
さっさと片付けてしまいましょう。
tedivm/fetch
• IMAP、POP3を操作するライブラリ
• 取得したメールの分解もやってくれる
chronon/mobile_detect

• デバイス判定のライブラリ
• かなり細かくやってくれる
opauth/opauth
• oauth用のライブラリ
• 多くのサービスに対応している
• 各フレームワークにも対応している
まだまだ、たくさんあります

• まずは検索してみよう
• ダウンロード数、TravisCIは信頼の証
• ドキュメントが充実していると

のちのち助かる

• 中身のコードを読んでみることも大切
ありがとうございます

Más contenido relacionado

La actualidad más candente

C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化について
AimingStudy
 
"Programming Hive" Reading #1
"Programming Hive" Reading #1"Programming Hive" Reading #1
"Programming Hive" Reading #1
moai kids
 
InfluxDB の概要 - sonots #tokyoinfluxdb
InfluxDB の概要 - sonots #tokyoinfluxdbInfluxDB の概要 - sonots #tokyoinfluxdb
InfluxDB の概要 - sonots #tokyoinfluxdb
Naotoshi Seo
 
Redunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPCRedunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPC
Masaaki HIROSE
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
kubo39
 
Shib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPPShib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPP
SATOSHI TAGOMORI
 
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
moai kids
 

La actualidad más candente (20)

Measurement of Maximum new NAT-sessions per second / How to send packets
Measurement of Maximum new NAT-sessionsper second / How to send packetsMeasurement of Maximum new NAT-sessionsper second / How to send packets
Measurement of Maximum new NAT-sessions per second / How to send packets
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化について
 
PO ファイルで翻訳管理
PO ファイルで翻訳管理PO ファイルで翻訳管理
PO ファイルで翻訳管理
 
Vagrant体験入門
Vagrant体験入門Vagrant体験入門
Vagrant体験入門
 
"Programming Hive" Reading #1
"Programming Hive" Reading #1"Programming Hive" Reading #1
"Programming Hive" Reading #1
 
Heroku で作る
スケーラブルな 
PHP アプリケーション
Heroku で作る
スケーラブルな 
PHP アプリケーションHeroku で作る
スケーラブルな 
PHP アプリケーション
Heroku で作る
スケーラブルな 
PHP アプリケーション
 
InfluxDB の概要 - sonots #tokyoinfluxdb
InfluxDB の概要 - sonots #tokyoinfluxdbInfluxDB の概要 - sonots #tokyoinfluxdb
InfluxDB の概要 - sonots #tokyoinfluxdb
 
Redunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPCRedunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPC
 
言語アップデート -Scala編-
言語アップデート -Scala編-言語アップデート -Scala編-
言語アップデート -Scala編-
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
 
Fission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyoFission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyo
 
Shelly
ShellyShelly
Shelly
 
Shib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPPShib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPP
 
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
 
Introduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 SpringIntroduction of Rancher at OSC Tokyo 17 Spring
Introduction of Rancher at OSC Tokyo 17 Spring
 
サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)
 
Lightweight C#
Lightweight C#Lightweight C#
Lightweight C#
 
el-more
el-moreel-more
el-more
 
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
 

Similar a Packagist

Clojureの発表など
Clojureの発表などClojureの発表など
Clojureの発表など
Kikuta Go
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみている
pocketberserker
 
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクトPhjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
 
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
m2ym
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
 

Similar a Packagist (20)

Clojureの発表など
Clojureの発表などClojureの発表など
Clojureの発表など
 
Haikara
HaikaraHaikara
Haikara
 
Ruby Extended Library
Ruby Extended LibraryRuby Extended Library
Ruby Extended Library
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみている
 
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクトPhjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
 
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
 
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
 
Asset Pipeline for Perl
Asset Pipeline for PerlAsset Pipeline for Perl
Asset Pipeline for Perl
 
Capistrano in practice - WebCareer
Capistrano in practice - WebCareerCapistrano in practice - WebCareer
Capistrano in practice - WebCareer
 
Hashicorpツールズ
HashicorpツールズHashicorpツールズ
Hashicorpツールズ
 
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
 
Vim scriptとJavaとHaskell
Vim scriptとJavaとHaskellVim scriptとJavaとHaskell
Vim scriptとJavaとHaskell
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
Weeklycms20120218
Weeklycms20120218Weeklycms20120218
Weeklycms20120218
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
 

Más de Yasuo Harada

Más de Yasuo Harada (7)

PHP Conference Kansai 2015
PHP Conference Kansai 2015PHP Conference Kansai 2015
PHP Conference Kansai 2015
 
CakePHP - The point of upgrade
CakePHP - The point of upgradeCakePHP - The point of upgrade
CakePHP - The point of upgrade
 
フレームワークの選び方・付き合い方
フレームワークの選び方・付き合い方フレームワークの選び方・付き合い方
フレームワークの選び方・付き合い方
 
Babylon system found in the web
Babylon system found in the webBabylon system found in the web
Babylon system found in the web
 
Quality Use Of Plugin
Quality Use Of PluginQuality Use Of Plugin
Quality Use Of Plugin
 
究極のコントローラを目指す
究極のコントローラを目指す究極のコントローラを目指す
究極のコントローラを目指す
 
CakePHP Kansai 2008-12-12
CakePHP Kansai 2008-12-12CakePHP Kansai 2008-12-12
CakePHP Kansai 2008-12-12
 

Packagist