PHPでComposerを使ってインストール可能なライブラリの作り方


こんにちは、@9ensanです。

php-composer-dependency-management-01

とりあえず、前回「Composer」のインストールと簡単な使い方までを説明しました。

今回は、Composerを使ってインストールできるライブラリを作ってみます。

 

Composerのインストールがまだな人は「PHPでライブラリの依存管理をするツール「Composer」の使い方」を参考にインストールしてください。

それでは開始です。

 

まずはライブラリ側を作成していきます。

nameの記述

まずは、nameを記述します。

"name": "nasneg/hello-world"

requireの記述

とりあえず、monologを依存ライブラリとして記述

"require": {
    "monolog/monolog": "1.0.*"
}

versionの記述

versionをcomposer.jsonに記述することで指定することも出来ますが、gitのtagやbranch名をversion名として利用することが推奨されているのでcomposer.json内に記述しない。

autoloadの記述

この記述がないとcomposerでのautoloadが機能しないので記述

"autoload": {
    "psr-0": {
        "HelloWorld": "."
    }
}

記述したcomposer.jsonの全体がこちら

Composer使用時の.gitignoreはこちら

依存ライブラリが入るvendorフォルダと、インストールしている依存ライブラリのバージョン情報を保持しているcomposer.lockはgitの管理から省きました。

今回作ったライブラリのフォルダ構成がこちら

php-composer-library-01

で実際のライブラリのソースがこちら

ただ単に、monologを使用してHello Worldをログに記述するだけの意味のないライブラリです。

こちらを、githubにpushします。

githubリポジトリ

これでライブラリの公開は完了です。

 

ライブラリができたので、作ったライブラリを使用する側を作成していきます。

composer.jsonの記述


このcomposer.jsonを記述したフォルダでComposerのinstallコマンドを実行します。

repositoriesの記述をすることでgithubなどに登録済みのライブラリも検索可能となります。

php composer.pher install

これで、以下のようにフォルダが展開されます。

php-composer-library-02

ライブラリがインストールされたので実行できるか確認


このソースを実行すると、

php-composer-library-03

ログが出力され、ライブラリが実行できた事が確認できました。

 

簡単なライブラリ公開方法でしたがこれをさらにPackagistに登録することでcomposer.jsonの”repositories”の記述がいらなくなりますのでもっと簡単に利用できるようになります。

関連する記事:

Facebookでコメント

コメント

  1. コメント 0

*

return top