$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自作したプログラムを Packagist に登録して 世界中の PHPer にインストールして...
Search
MasaKu
September 25, 2022
Programming
0
1.5k
自作したプログラムを 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
3
3.7k
メルマガのすすめ
masaku_e
0
670
Laravel 8 注目機能紹介!
masaku_e
1
480
PHPerKaigi2019への参加がきっかけで社内勉強会の主催するようになった話
masaku_e
1
1.5k
メルマガ配信サービスの越境プロジェクト ~メール到達率向上への挑戦~
masaku_e
3
3.1k
Other Decks in Programming
See All in Programming
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
220
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
830
tparseでgo testの出力を見やすくする
utgwkk
1
210
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
240
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
140
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
2
680
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
100
dotfiles 式年遷宮 令和最新版
masawada
1
760
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
dnx で実行できるコマンド、作ってみました
tomohisa
0
150
認証・認可の基本を学ぼう後編
kouyuume
0
190
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Designing for humans not robots
tammielis
254
26k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building Applications with DynamoDB
mza
96
6.8k
Bash Introduction
62gerente
615
210k
Writing Fast Ruby
sferik
630
62k
Facilitating Awesome Meetings
lara
57
6.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Become a Pro
speakerdeck
PRO
31
5.7k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
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