今回はPHPのパッケージ管理ツールであるcomposerへのライブラリ登録を。
ライブラリの作成
1 2 3 4 5 6 7 8 9 10 11 |
{ //ライブラリ名をベンダー名:パッケージ名で記述します。 "name": "donowlib/util", //オートロードされるライブラリpsr-0準拠 //名前空間:ディレクトリ名記述 "autoload": { "psr-0": { "libutil\\": "src/" } } } |
ちなみに上記は本当に必要な最小限度の情報しか書いていません。もちろんこれ以上の様々な情報をつけることができるので情報を探したい場合は参考リンクを。
作ったライブラリは以下のリンクに。※最小構成のみでつくっています。
https://github.com/umanari145/donowlib
気を付ける点としては名前空間とディレクトリの位置ですかね。名前空間が適切でないと呼び出し先でライブラリが使えないので気を付けましょう。あとはスラッシュや\\なども忘れないようにしましょう。
名前空間に関してはこちら
packagistへの登録
作ったライブラリはGitHub登録した後、Packagistというパッケージリポジトリに登録しておきましょう。
※登録しなくてもGitHubから呼び出すことは一応可能です。
登録方法は参考リンクが一番わかりやすいのでそちらを参考に。
呼び出す側
composer.json
1 2 3 4 5 |
{ "require": { "donowlib/util":"dev-master" } } |
このあとcomposer installを入力してあげればライブラリを読み込むことができます。
プログラム
1 2 3 4 5 6 |
require __DIR__ .'/vendor/autoload.php'; use libutil\sample; $sampleUtil = new sample("aaaa"); $sampleUtil->showMessage(); |
上記のようにvendor/autoload.phpを読み込めばすべて終了します。
参考リンク
[PHP]自作ライブラリをComposer化&Packagistの登録方法
すごくわかりやすかったです。わかりやすすぎたんでお礼をかかせてもらいました。ここまでわかりやすい記事は技術ブログではあまりないですね・・・