PHP Lesson 2
Composer 套件管理
What? Why?
- Composer是PHP獨立套件管理程式
- 不要在閉門造車或是自已做輪子
- 寫程式就像拼圖或積木一樣
- 這是一個快速開發的時代
安裝&基本指令
// 區域性安裝
1. curl -sS https://getcomposer.org/installer | php
// 全域性安全
1. curl -sS https://getcomposer.org/installer | php
2. mv composer.phar /usr/local/bin/composer
// 第一次安裝套件
composer install
// 更新套件
composer update
// 安裝單一套件
composer require
// 移除套件
composer remove
// 重新讀取
composer dump-autoload
關於composer.json
{
"name": "api.karaokecloud.com", // 專案名稱(不重要)
"description": "KaraokeCloud API", // 專案描述(不重要)
"keywords": [ // 關鍵字(不重要)
"framework",
"laravel"
],
"license": "MIT", // 授權(不重要)
"require": { // 載入的套件(重要)
"laravel/framework": "4.2.*",
"jenssegers/mongodb": "*",
"philo/laravel-twitter": "dev-master",
"guzzlehttp/guzzle": "4.*",
},
"minimum-stability": "dev", //最小可接受的版本
"autoload": { //自動讀取
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/libraries"
]
}
}
在程式碼中使用
require 'vendor/autoload.php';
use Carbon\Carbon;
// 例:使用時間套件函式
$exDate = Carbon::createFromFormat("Y-m-d H:i:s", $date);
echo $exDate->minute,
echo $exDate->hour,
echo $exDate->day,
echo $exDate->month,
如何找到我想要用的套件?
- https://packagist.org/ (免費)
- https://cartalyst.com/ (付費)
- Google 搜尋
關於套件管理的幾件事
- 套件也是人寫的,代表可能也有錯
- 套件也是人寫的,代表他會懶的更新
- 套件也是人寫的,代表可能會有漏洞
- 套件也是人寫的,代表你也可以看的懂
- 套件也是人寫的,代表你也可以寫
使用套件都有風險,請謹慎使用並詳細參考說明
PEAR
- 全域性的PHP套件管理
- http://pear.php.net/
PHP Lesson 2
By Seta Chuang
PHP Lesson 2
- 948