如何自製Composer的套件
首先一定要有Composer
建議安裝在可直接執行的地方
像我就裝在 /usr/local/bin
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/local/bin
mv /usr/local/bin/composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
然後建立一個專案資料夾
mkdir my-project
cd my-project
使用
composer init
來初始化
並產生composer.json
再來就需要知道auto load的規範
psr是 PHP Standard Rules的縮寫
就是由PHP-Fig這個組織所擬定的共同規範
當然要不要遵守這個規範是看個人
不過也因為有了規範
PHP的世界從此變得不一樣
而psr-0跟psr-4都是關於auto load的規範
但看數字也知道psr-0是最一開始制定的規範
現在已經要被移除了
建議新開發的套件都使用psr-4
PSR-4主要在規範class名稱跟class檔案所在位置的對應關係

所以在定義class name跟把這個class檔案放哪
都必須遵照這個規則走
簡單來講
就是namespace會對應到資料夾位置
最後一個class name則是class檔案的名稱
在專案資料夾下新增一個src資料夾
mkdir src
並在composer.json中新增
"autoload": {
"psr-4": {
"Vendor\\Package\\": "src/"
}
},
代表著namespace以 Vendor\Package 開頭的class檔案都會在src下
所以如果有個class全名是 Vendor\Package\FirstClass
檔案就會在 src/FirstClass.php
至此就差不多可以開始開發了
當然還可以繼續整合phpunit
留言