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
1.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自作したプログラムを Packagist に登録して 世界中の PHPer にインストールしてもらおう
PHP Conference Japan 2022/09/25
MasaKu
September 25, 2022
More Decks by MasaKu
See All by MasaKu
今だから話せるPHP8バージョンアップの裏側~全5サービスの事例紹介~
masaku_e
3
4.1k
メルマガのすすめ
masaku_e
0
700
Laravel 8 注目機能紹介!
masaku_e
1
520
PHPerKaigi2019への参加がきっかけで社内勉強会の主催するようになった話
masaku_e
1
1.6k
メルマガ配信サービスの越境プロジェクト ~メール到達率向上への挑戦~
masaku_e
3
3.3k
Other Decks in Programming
See All in Programming
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
560
ソフトウェアラスタライザ
fadis
1
760
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.4k
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
500
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
280
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
120
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
250
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
770
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
260
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
200
Press start. Python's next generation.
willingc
PRO
3
300
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Crafting Experiences
bethany
1
270
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Believing is Seeing
oripsolob
1
200
Bash Introduction
62gerente
615
220k
Agile that works and the tools we love
rasmusluckow
331
22k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
510
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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