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

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

MasaKu
September 25, 2022

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

PHP Conference Japan 2022/09/25

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 にインストールしてもらおう