PHPプログラムに関する各種メモ書き

composer で 自作パッケージを使用する

● composer で 自作パッケージを使用する

● 次のコマンドを実行できる自作パッケージを composer で管理する

use Hogehoge\HelloComposer;
HelloComposer\HelloComposer::show('テストの文字列です');

● 1. Github に 次のファイル構成でファイルを push

hogehoge
|--hellocomposer
|  |--README.md
|  |--composer.json
|  |--src
|  |  |--HelloComposer.php

HelloComposer.php の 中

<?php

namespace Hogehoge\HelloComposer;

class HelloComposer
{
    public static function show( $message='hello !' )
    {
    	echo $message;
    }
}

composer.json の 中

{
    "name": "hogehoge/hellocomposer",
    "description": "hello-composer",
    "type": "library",
    "minimum-stability": "stable" ,
	"require": {
		"php": ">=7.0.0"
	},
	"autoload": {
		"psr-4": {
			"Hogehoge\\HelloComposer\\": "src/"
		}
	}
}

psr-4 のところだけ 名前空間を記述するので、

・先頭文字大文字
・区切りはバックスラッシュ( "" の中にあるのでエスケープするように2個連続 )

で記述します。 それ以外は小文字で記述します。

● 2. 読み込む側の ディレクトリのトップの composer.json に以下の項目を追加する

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/hogehoge/hellocomposer.git"
        }
    ],

hogehoge/hellocomposer.git のところは適宜書き換えてください)

    "require": {
        ..............................
        "hogehoge/hellocomposer" : "dev-master"
    },

hogehoge/hellocomposer のところは適宜書き換えてください)

● 3. composer コマンドで読み込み、名前空間のファイルを生成する

composer update
composer dump-autoload

composer dump-autoload は必ず update のたびに実行しましょう。

これで準備が整いました。

use Hogehoge\HelloComposer;
HelloComposer\HelloComposer::show('テストの文字列です');

こちらが使用できます。

No.1617
11/11 13:45

edit