PHPのパッケージマネージャのComposerからつかえる形式でのライブラリの作り方
準備
composerコマンドが入っていない場合はインストールしておく
ubuntuの場合はaptで入れてしまうのが楽
sudo apt install composer
もしほかの環境だったり手動でインストールしたい場合は下記を参照
Composer
https://getcomposer.org/download/
パッケージ設定
まず下記コマンド
composer init
上記を実行するとインタラクティブに設定項目を聞かれるので答えていくとcomposer.jsonなどが作られる
聞かれる内容は次のようなものがある
Package name (<vendor>/<name>) #パッケージ名 作者名/パッケージ名の形式で指定
Description []: #パッケージの説明、省略可
Author # 作者の名前とメールアドレス
Minimum Stability # composer.jsonに記載するminimum-stabilityの設定、省略可
Package Type (e.g. library, project, metapackage, composer-plugin) []: # ライブラリの場合はlibraryと指定
License []: # このパッケージのライセンス指定、省略可
Would you like to define your dependencies (require) interactively [yes]? # 依存するパッケージの指定
Would you like to define your dev dependencies (require-dev) interactively [yes]? # yesと答えると開発用ツールなどの指定を聞かれる
Search for a package: # phpunitなどと指定
Found 15 packages matching phpunit
[0] phpunit/phpunit
[1] phpunit/php-timer
[2] phpunit/php-text-template
[3] phpunit/php-file-iterator
(略)
Enter package # to add, or the complete package name if it is not listed: # この場合は0を入力するとphpunitを選ぶ
Enter the version constraint to require (or leave blank to use the latest version): # phpunitのバージョン指定、空白で最新版
Add PSR-4 autoload mapping? Maps namespace # オートロードの起点ディレクトリ指定、デフォルトだとsrc/が指定される
Do you confirm generation [yes]? # yesと答えると実際にcomposer.jsonが作成される
Would you like to install dependencies now [yes]? # yesと答えると先ほど指定した依存パッケージがインストールされる
ピンバック: 自作composerライブラリをPackagistに登録する方法 – snipet of engineer