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
970
自作したプログラムを 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
2.8k
メルマガのすすめ
masaku_e
0
590
Laravel 8 注目機能紹介!
masaku_e
1
400
PHPerKaigi2019への参加がきっかけで社内勉強会の主催するようになった話
masaku_e
1
1.2k
メルマガ配信サービスの越境プロジェクト ~メール到達率向上への挑戦~
masaku_e
3
2.8k
Other Decks in Programming
See All in Programming
Netty Chicago Java User Group 2024-04-17
sullis
0
170
"config" ってなんだ? / What is "config"?
okashoi
0
240
Ruby GitHub Packages
bkuhlmann
0
630
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
140
ONE WEDGE_company_guide
1wedge_one
0
470
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
250
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5.2k
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
270
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
760
SIMD Parallel Programming with the Vector API
josepaumard
0
160
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
Making Projects Easy
brettharned
108
5.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
78
42k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Optimizing for Happiness
mojombo
370
69k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
Statistics for Hackers
jakevdp
789
220k
Faster Mobile Websites
deanohume
299
30k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Rails Girls Zürich Keynote
gr2m
91
13k
GitHub's CSS Performance
jonrohan
1025
450k
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