Upgrade to Pro — share decks privately, control downloads, hide ads and more …

自作したプログラムを Packagist に登録して 世界中の PHPer にインストールして...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for MasaKu MasaKu
September 25, 2022

自作したプログラムを Packagist に登録して 世界中の PHPer にインストールしてもらおう

PHP Conference Japan 2022/09/25

Avatar for MasaKu

MasaKu

September 25, 2022
Tweet

More Decks by MasaKu

Other Decks in Programming

Transcript

  1. #phpcon2022
 自己紹介
 • 久山勝生(@MasaKu_e)
 ◦ 株式会社ラクス
 ◦ 関西出身
 ◦ 配配メール開発担当


    ◦ Web×PHP TechCafe運営
 • 好きなもの
 ◦ 緑茶
 ◦ ハイボール
 ◦ ソース味の食べ物
 5

  2. #phpcon2022
 Composer について
 • PHP アプリケーションの依存関係管理ツール
 ◦ composer.json に依存するライブラリを記述
 ◦

    コマンド一発で インストール/更新 してくれる
 7
 { "require": { "monolog/monolog": "2.0.*" } } composer.json composer update monolog が取得される
  3. #phpcon2022
 パッケージの定義
 • 各種パラメータの指定
 ◦ name
 ▪ ベンダー名/パッケージ名
 ◦ description


    ▪ パッケージの説明
 ◦ require
 ▪ 依存関係のあるパッケージ記載
 ◦ licence
 ▪ ライセンス情報
 { "name": "masakuuuu/dicegame", "description": "play dicegame", "require": { "php": ">=8.1" }, "license": "MIT", } composer.json 12

  4. #phpcon2022
 composer.json の書式チェック
 • composer validate を実行
 ◦ 「composer.json is

    valid」が出力されればOK
 
 
 • リポジトリにコミット
 13

  5. #phpcon2022
 そのほかのフィールド情報
 • require-dev
 ◦ 本番運用では不要な開発用のパッケージを指定(PHPUnit など)
 ◦ composer update

    --no-dev コマンドで除外されるパッケージ
 • keywords
 ◦ Packagist の検索キーワード
 • type
 ◦ デフォルトは「library」
 20
 続きは composer の公式でチェックしてみてください🙇
  6. #phpcon2022
 Packagist に登録すると
 • Composer 経由でプログラムを取得できる
 • リポジトリ情報をGUIで確認できる
 • 丁寧な

    composer.json を書く動機付けになる
 21
 世界中の PHPer にインストールしてもらおう