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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
MasaKu
September 25, 2022
Programming
1.6k
0
Share
自作したプログラムを 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
3.9k
メルマガのすすめ
masaku_e
0
680
Laravel 8 注目機能紹介!
masaku_e
1
490
PHPerKaigi2019への参加がきっかけで社内勉強会の主催するようになった話
masaku_e
1
1.5k
メルマガ配信サービスの越境プロジェクト ~メール到達率向上への挑戦~
masaku_e
3
3.2k
Other Decks in Programming
See All in Programming
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
Claude Code Skill入門
mayahoney
0
460
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
300
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.5k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
440
Coding as Prompting Since 2025
ragingwind
0
670
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.8k
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
290
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.3k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.4k
Featured
See All Featured
HDC tutorial
michielstock
1
600
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Designing for Performance
lara
611
70k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
How STYLIGHT went responsive
nonsquared
100
6k
It's Worth the Effort
3n
188
29k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
The SEO identity crisis: Don't let AI make you average
varn
0
430
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