Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自作したプログラムを Packagist に登録して 世界中の PHPer にインストールして...
Search
MasaKu
September 25, 2022
Programming
0
1.2k
自作したプログラムを Packagist に登録して 世界中の PHPer にインストールしてもらおう
PHP Conference Japan 2022/09/25
MasaKu
September 25, 2022
Tweet
Share
More Decks by MasaKu
See All by MasaKu
今だから話せるPHP8バージョンアップの裏側~全5サービスの事例紹介~
masaku_e
2
3.4k
メルマガのすすめ
masaku_e
0
640
Laravel 8 注目機能紹介!
masaku_e
1
440
PHPerKaigi2019への参加がきっかけで社内勉強会の主催するようになった話
masaku_e
1
1.4k
メルマガ配信サービスの越境プロジェクト ~メール到達率向上への挑戦~
masaku_e
3
3k
Other Decks in Programming
See All in Programming
Return of the Full-Stack Developer
simas
PRO
1
310
eBPF Updates (March 2025)
kentatada
0
130
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
190
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
370
読もう! Android build ドキュメント
andpad
1
240
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
7
6.7k
goにおける コネクションプールの仕組み を軽く掘って見た
aronokuyama
0
140
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
340
ミリしらMCP勉強会
watany
2
320
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
470
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
370
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
17
5.5k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Being A Developer After 40
akosma
90
590k
GitHub's CSS Performance
jonrohan
1030
460k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
16
1.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Rails Girls Zürich Keynote
gr2m
94
13k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
Transcript
#phpcon2022 自作したプログラムを Packagist に登録して 世界中の PHPer にインストールしてもらおう 株式会社ラクス 久山勝生 @MasaKu_e
PHP Conference Japan 2022/09/25 1
#phpcon2022 PHPで作成した便利なツールを ローカルで眠らせていませんか? 2
#phpcon2022 世界中の PHPer に共有しましょう! 3
#phpcon2022 この発表のターゲット • PHP でツールを開発している方 • 作ったツールをみんなに使ってもらいたい方 • Packagist について知りたい方
4
#phpcon2022 自己紹介 • 久山勝生(@MasaKu_e) ◦ 株式会社ラクス ◦ 関西出身 ◦ 配配メール開発担当
◦ Web×PHP TechCafe運営 • 好きなもの ◦ 緑茶 ◦ ハイボール ◦ ソース味の食べ物 5
#phpcon2022 Composer と Packagist 6
#phpcon2022 Composer について • PHP アプリケーションの依存関係管理ツール ◦ composer.json に依存するライブラリを記述 ◦
コマンド一発で インストール/更新 してくれる 7 { "require": { "monolog/monolog": "2.0.*" } } composer.json composer update monolog が取得される
#phpcon2022 • Composer のメインリポジトリ ◦ composer.json に記載された情報からパッケージを検索 ◦ パッケージの連携元(GitHubなど)からダウンロード Packagist
について 8
#phpcon2022 なんだか難しそう・・・ 9
#phpcon2022 想像より簡単ですよ! 10
#phpcon2022 パッケージの公開方法 1. パッケージの定義(composer.json の作成) 2. composer.json の書式チェック 3. GitリポジトリまたはVCSリポジトリにコミット
4. リポジトリのURLを Packagist に紐づけ 11 上記で Composer コマンドで取得可能になります
#phpcon2022 パッケージの定義 • 各種パラメータの指定 ◦ name ▪ ベンダー名/パッケージ名 ◦ description
▪ パッケージの説明 ◦ require ▪ 依存関係のあるパッケージ記載 ◦ licence ▪ ライセンス情報 { "name": "masakuuuu/dicegame", "description": "play dicegame", "require": { "php": ">=8.1" }, "license": "MIT", } composer.json 12
#phpcon2022 composer.json の書式チェック • composer validate を実行 ◦ 「composer.json is
valid」が出力されればOK • リポジトリにコミット 13
#phpcon2022 Packgist に登録 14 • Packagist の公式HPにアクセス ここにリポジトリのURLを指定する
#phpcon2022 登録完了 15 composer コマンドで取得可能になりました たったこれだけ!
#phpcon2022 Packagist の画面の見方 16
#phpcon2022 17
#phpcon2022 18 composer.json に記載した内容 { "name": "masakuuuu/dicegame", "description": "play dicegame",
"require": { "php": ">=8.1" }, "license": "MIT", } composer.json
#phpcon2022 19 リポジトリのURLや スター数など リポジトリの内容 README の内容 タグ情報
#phpcon2022 そのほかのフィールド情報 • require-dev ◦ 本番運用では不要な開発用のパッケージを指定(PHPUnit など) ◦ composer update
--no-dev コマンドで除外されるパッケージ • keywords ◦ Packagist の検索キーワード • type ◦ デフォルトは「library」 20 続きは composer の公式でチェックしてみてください🙇
#phpcon2022 Packagist に登録すると • Composer 経由でプログラムを取得できる • リポジトリ情報をGUIで確認できる • 丁寧な
composer.json を書く動機付けになる 21 世界中の PHPer にインストールしてもらおう
#phpcon2022 Let’s Enjoy PHPer’s Life! 22
#phpcon2022 ご清聴ありがとうございました! 23
#phpcon2022 参考サイト Composer 公式HP https://getcomposer.org/ Packagist 公式HP https://packagist.org/ illustAC https://www.ac-illust.com/
The composer.json schema https://getcomposer.org/doc/04-schema.md 24