cd git git@github.com:amaraimusi/CrudBase.git
cd CrudBase mkdir src mkdir testsプロジェクトのディレクトリ内にsrcディレクトリとtestsディレクトリを作成する。
composer.json
{
"name" : "amaraimusi/crudbase",
"description" : "CRUD support library",
"keywords" : [
"CRUD",
"web service",
"管理画面"
],
"type" : "library",
"license" : "MIT",
"homepage" : "https://amaraimusi.sakura.ne.jp/CrudBase",
"authors" : [{
"name" : "amaraimusi",
"email" : "amaraimusi@gmail.com",
"homepage" : "https://amaraimusi.sakura.ne.jp/",
"role" : "Developer"
}
],
"minimum-stability" : "dev",
"require-dev" : {
"phpunit/phpunit" : "^9.0"
},
"autoload" : {
"psr-4" : {
"CrudBase\\" : "src/crudbase/"
}
}
}
compser.jsonの解説
| "name" : "amaraimusi/crudbase" | "name" : "Githubでのあなたのユーザー名/新しく作成するパッケージ名(すべて小文字にすること。大文字禁止になっている)" |
| "description" : "CRUD support library", | "description" : "パッケージの説明文(任意)", |
| "keywords" : [ | 検索用のキーワード。他の開発者がパッケージを検索する手がかりに。省略可能。 |
| "type" : "library" | パッケージのタイプ。library、metapackage、composer-installerの3種類があるが、通常はlibraryに設定しておけばよい。 |
| "license" : "MIT" | ライセンスの種類を記述。フリーライセンスにするならMITとする。 |
| "homepage" : "https://amaraimusi.sakura.ne.jp/CrudBase", | 当パッケージの解説、デモ、サンプルなどを記述したサイトへのURLを指定すると良い。省略可能。 |
"authors" : [{
"name" : "amaraimusi",
"email" : "amaraimusi@gmail.com",
"homepage" : "https://amaraimusi.sakura.ne.jp/",
"role" : "Developer"
|
開発者の情報を記述する。 |
| "minimum-stability" : "dev", | 開発版なら「dev」をセット、安定版なら「stable」をセットする。 |
"require-dev" : {
"phpunit/phpunit" : "^9.0"
},
|
開発版である場合のみ依存するパッケージを記述する。 |
"autoload" : {
"psr-4" : {
"CrudBase\\" : "src/crudbase/"
}
}
|
「"CrudBase\\" : "src/crudbase/"」の部分は重要。 名前空間とパスの紐づけを行っている。 名前空間はクラスファイルに記述する「namespace」のこと。「namespace CrudBase;」などと記述する。 この辺りはハマりやすいのでスペルミスがないよう慎重に。 |
composer update
composer dump-autoload

<?php
namespace CrudBase;
class Neko{
public function bark($name){
return $name . 'はニャーンと吠えた';
}
}
git add -a git commit m="任意のコメント" git push
登録したパッケージの使い方
他のライブラリと使い方と基本的に同じなので詳細は割愛。一応、記述例は下記の通り。
composer.json
{
"require-dev" : {
"amaraimusi/crudbase" : "dev-master"
},
"autoload" : {
"psr-4" : {
"App\\" : "src/"
}
}
}
index.php
<?php
$autoloader =require_once '../vendor/autoload.php';
require_once 'Animal.php';
$animal = new Animal();
$animal->test();
Animal.php
<?php
use CrudBase¥Neko;
class Animal{
public function test(){
echo 'アメリカザリガニ<br>';
$neko = new Neko();
echo $neko->bark('黒い猫');
}
}
登録したパッケージの使い方2
既存のcomposer.jsonに自作パッケージを追加する場合は以下のコマンドを実行する。composer require amaraimusi/crudbase dev-mastercomposer.jsonに「maraimusi/crudbase」の記述が追加されているのが確認できる。
composer update amaraimusi/crudbase
php composer.phar update amaraimusi/crudbase