Packagist を旅してみる
- 2. How about me??
尾崎 翔太
株式会社ウィルゲート 技術責任者
PHPやJavascriptをよく書いています。
隙をみて、JenkinsとかdockerとかAWSとかES2015とか、とかとか
いろいろ触っています。
- 8. ~300万ダウンロードくらいのものたち
twig/twig テンプレートエンジン
sebastian/diff Diffが取れる(パーサ付き)
symfony/filesystem ファイルを扱う
doctrine/orm ORM
nesbot/carbon DateTimeラッパー
guzzlehttp/guzzle HTTPクライアント
symfony/symfony Symfonyフレームワーク
jdorn/sql-formatter SQL文をフォーマットできる
aws/aws-sdk-php AWSのAPIを実行する
fzaninotto/faker ダミーデータ作成
vlucas/phpdotenv .envファイルで環境変数設定
phpseclib/phpseclib RSAやAESなどの暗号ライブラリ
sensiolabs/security-
checker
composer.lockについてセキュリティチェックできる
danielstjules/stringy 文字列処理の強化
- 10. 10万~3万ダウンロードくらい
twig/twig テンプレートエンジン
sebastian/diff Diffが取れる(パーサ付き)
symfony/filesystem ファイルを扱う
doctrine/orm ORM
nesbot/carbon DateTimeラッパー
guzzlehttp/guzzle HTTPクライアント
symfony/symfony Symfonyフレームワーク
facebook/php-ads-sdk FacebookAdsの操作
php-vcr/php-vcr テスト時のHTTPリクエストを記録して再利用する
m6web/coke phpcsのコンフィグを書くためのDSL
sylius/sylius Symfony2ベースのECサイトフレームワーク
deployer/deployer PHP製のデプロイツール
athari/yalinqo LINQを扱える
opensoft/rollout 機能の有効無効を切り替えるためのもの
- 12. 1万ダウンロード以下くらい
twig/twig テンプレートエンジン
sebastian/diff Diffが取れる(パーサ付き)
symfony/filesystem ファイルを扱う
doctrine/orm ORM
nesbot/carbon DateTimeラッパー
guzzlehttp/guzzle HTTPクライアント
symfony/symfony Symfonyフレームワーク
wisembly/totem 配列やオブジェクトの差分を記録できる
psecio/versionscan PHPバージョンの脆弱性調査
php-vfs/php-vfs テスト用のファイルシステムモック
stil/gd-text GDを利用したテキスト描画
litipk/php-bignumbers 多倍長整数を扱う
sybio/gif-frame-extractor gifファイルの展開
geerlingguy/ping pingを送る
- 13. ここまでのまとめ
だいたい 7,500 パッケージ見てきました
DL数順で500ページ
どこかで見たようなものばかり
「Simple and Flexible ORM」「DataTime wrapper」
「REST HTTP Client」「Symfony2 bundle」とかとか…
Symfony!またお前か!
面白ライブラリがなかなか見つからない
もうおわり。
Editor's Notes
- ウィルゲートという会社で、技術責任者をしています
PHPやJSをよくかいてまーす
- パッケージスト、知っているかたー?
→みんなしっていますねー大丈夫ですね
→知らない人も結構いますねー、ここで覚えていきましょう!
- パッケージスト、こういうWebサイトあります
- コンポーサーと呼ばれるパッケージ管理ツールがあり、パッケージストはそれのメインリポジトリになっています。
ほぼ10万ちかいパッケージがここで公開されています。すごいですねー
このLTやろう!と決めたきっかけでもあり、ぼくも見てないのですが、ここ見てる人ってあんまりいないようなー、という気がしています。
実態はよーくわかってないので、めっちゃみてるよ!とでもツイートしてください
- このパッケージストなのですが、DLされた数順で並び替えられます。
この並び替えたものから順番にあれこれ見ていって、おもしろそうだな、つかえそうだな、といったものを上げていきます
ただし、細かい説明はしないのと、シンフォニーやドクトリンは省きます
それではいってみましょう!
- めっちゃダウンロードされてるところから。
やっぱりロギングやメーラーやテンプレートやら、と基本になるものが上がってきますね
このなかだとおすすめはガズルです
HTTPクライアントになりますが、非同期呼び出しもできて、APIをコールするのがすごいはかどります
あと面白いのがdiffですね、これphpunitの中で使われているそうです
- つづいても有名どころを抑えてみましょう
symfonyにdoctrineを省いたので、ちょっと聞いたことのないようなものも出てきているのではないでしょうか
面白そうなものがいろいろありますねー
この中だとフェーカーがおすすめです。
これが何をするかというとテスト用のダミーデータを作ることができ、phpunitと組み合わせると、テストがはかどります。
日本向けな地名や人名にも対応しているのでサイコーですね。
- だいたい150パッケージくらい過ぎました。
ちなみにこのあたりまでだと、ぼくも使ったことがあるライブラリが並んできています。
symfonyにdoctrineを省いた理由になるのですが、
見ていて7割くらいがこの子達によって埋められてました
- それでは一気に数万DLくらいまでいきましょう。
この中で知ってるのがあるよ!という人・・・?
ああ、deployerはちょっと話題になったのでそれですかねー
ちなみにこの中で面白そうだったのはphp-cvrです
テストケースに外部APIにリクエストするようなものがあった場合、その内容をキャッシュして2回目以降のテストでも再現してくれる、というものです。
便利そうですけどちょっと扱いが難しそうだなーとおもいます
- 実はめっちゃ見ていて、3000パッケージ見てきました。
ここまで見ていると、外部apiを使うものだったり、先ほどの中だとシリウスのような出来上がっているシステム、あとはちょっと時代感のあるライブラリが出てくるなーという印象でした。
- そしてもっと狭いところに行ってみましょう
このなかで1つでも知ってるよ!という人・・・?
見てのとおり、使えそうだけど使えなさそうで、面白そうだけど微妙そうなものがならんでいます。
ちなみにこのなかだとphp-bignumbersが面白そうです。
Phpでも任意精度倍数の演算はできるのですが、それのラッパーですね、
でっかい数字、64ビットで収まらないような数値演算をしたいときは使うとよさそうです。
まあそんな場面っていうほどないですよね・・・、、
- というわけで実は7500くらい見てきました。
ここまでくると見たことあるものばかりです
ORMとかDataTimeとか、HTTPクライアントとか、Symfonyのbundleとかとか
ちょっと探すのに疲れてしまったのと、面白ライブラリが見つからないのでこのあたりで今回の旅はおしまいです。
- 今回の旅をとおしてのまとめですが、
Symfonyまじつええというのを感じました
Php界隈・・・、といってもcomposerに乗っているところ限定ですが、この恩恵を大きく受けているなーと。
およそ1万パッケージくらい説明をみたのですが、ここでは紹介しきれなかった面白そうなものもたくさんありました。
これらはまたどこかで紹介していきたいとおもいます
こんだけソースがオープンになっているのだから、OSS活動むずかしそう、なんていってもできそうだな、とおもいました
- 最後になるのですが、ウィルゲートはcomposreを旅してしまうようなエンジニアを募集しています、wantedlyへ!