PHP Composer Plugin 製作

步驟

首先建立資料夾 Composer-plugin,並且 git init

在資料夾中建立 composer.json 檔案,內容如下

composer.json 內容是以 JSON 格式儲存,寫好之後記得驗證是否格式正確

更簡單的方式是使用 composer init,他會自動幫你產生 json 檔案

因為我們要使用 PHP namespace 功能,而此功能要 5.3 以上才有支援

autoload 的 classmap 表示會把 lib 中的所有檔案都掃過一次

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"name": "jasonchiucc/firebase-php",
"description": "Firebase Realtime Database PHP Client Lib",
"license": "MIT",
"version": "0.0.1",
"authors": [
{
"name": "JasonChiuCC",
"email": "JasonChiuCC@gmail.com"
}
],
"require": {
"php": ">=5.3.0"
},
"autoload": {
"classmap": ["src"]
}
}

PHP namespace 用法

以前 php 沒有 namespace 時,如果 class 命名相同會出錯

5.3 以上使用 namespace 功能,就可以命名相同 class 名稱

1
2
3
4
5
6
// BoardArticle.php
<?php
namespace Board;
class Article{
//...
}
1
2
3
4
5
6
// ForumArticle.php
<?php
namespace Forum;
class Article{
//...
}

要自己製作可發布的 composer plugin 可以參考這裡

將來要發佈到 Packagist 可參考這裡 撰寫 composer.json

參考網站

官網範例

Reference 1

Reference 2

Reference 3

Reference 4