Loading
xuwenzhi
This is a live streamed presentation. You will automatically follow the presenter and see the slide they're currently on.
徐文志
maven
pip
bundler
npm
...
容易安装、移除
容易升级
自动依赖管理
...
pear install phpunit/PHPUnit-3.3.17
PEAR2 packages 仅支持 PHP5.3+
"显示"支持依赖管理
所有代码必须在 PEAR2 命名空间下
所有的 package 都必须使用 package.xml v2.0
autoload 支持 PSR-0
pyrus install phpunit/PHPUnit-3.3.17
composer packages 仅支持 PHP5.3.2+
"显示"支持依赖管理
语义化版本管理
命名空间个性化
使用 json 文件管理package依赖等信息
autoload 支持 PSR-4
支持各种源 (github, svn, private repo)
支持global/local模式
......
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
{
"require": {
"guzzlehttp/guzzle": "^6.2"
}
}
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"predis/predis": "^1.1",
"filp/whoops": "^2.1",
"maatwebsite/excel": "~2.1.0",
"laravelcollective/bus": "^5.2",
"guzzlehttp/guzzle": "^6.2"
},
"require-dev": {
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
},
"autoload": {
"classmap": [
"database","/home/work/libary/", "Class.php"
],
"psr-4": {
"App\\": "app/"
},
"files" : [
"src/MyLibrary/functions.php"
],
"psr-0" : {
"Zend\\" : "src/"
}
},
X . Y . Z
X : 主版本号(不兼容的API修改)
Y : 次版本号(向下兼容的特性新增)
Z : 修订号(向下兼容的bug修复)
1.精准的版本 : 1.0.0、 dev-master
2.版本范围 : 1.2.* 、2.* 、~1.2、>=1.2
"autoload" : {
"psr-4" : {
"MConfig\\" : "src/"
}
}
composer install
<?php namespace MConfig;
class MConfig
{
public function bootMConfig()
{
}
}
$ git init
$ git remote add origin git@github.com:xuwenzhi/mconfig.git
$ git pull origin master
$ touch .gitignore
$ vim .gitignore // 添加vendor目录
$ git add .
$ git commit -m 'Init project.'
$ git push origin master
composer dumpautoload -o
{
"repositories": [
{
"type": "pear",
"url": "https://pear2.php.net"
}
],
"require": {
"pear-pear2.php.net/PEAR2_Text_Markdown": "*"
}
}