composer的使用(含vendor目录)
————————安装composer并使用中国镜像包————————
// MAC 下:
1、http://docs.phpcomposer.com/00-intro.html,下载composer文件,并移动和重命名到/usr/local/bin/下。
//你可以执行这些命令让 composer 在你的系统中进行全局调用: curl -sS https://getcomposer.org/installer | php //这个命令可以直接安装,而不需要到官网安装 mv composer.phar /usr/local/bin/composer //移动到bin目录下
————将composer.phar移动目录并重命名/usr/local/bin/composer,
2、然后需要执行以下语句,设置一下composer的权限:
切换到composer所在的目录下,修改一下 composer.phar文件的权限 sudo chmod a+x composer
3、接下来就可以在终端的任何地方执行composer –version,以测试是否成功。
4、使用中国镜像包:
第一种(推荐):全局配置:打开终端,直接输入,全局配置就可以了。
composer config -g repo.packagist composer https://packagist.phpcomposer.com
第二种:局部项目配置
1)在项目文件下的composer.json的位置(即项目位置)执行以下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
2)会发现在composer.json多出来了以下内容:
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
————以上意味着,以后下载全部都走的是国内的镜像。这样速度就会很快。
其他:
sudo composer self-update //更新composer(不是包,是composer本身)
// Linux/centOS 下安装
// 1、下载包 curl -sS https://getcomposer.org/installer | php 或者 php -r "copy(\'https://install.phpcomposer.com/installer\', \'composer-setup.php\');" php composer-setup.php // 2、移动到bin 目录 mv composer.phar /usr/local/bin/composer // 3、配置全局 composer config -g repo.packagist composer https://packagist.phpcomposer.com
————————使用composer————————
1、生成composer.json —— init:
composer init //执行初始化的包 linfeng/demo //包名为linfeng/demo ... //后续请看截图,就是设置一些信息
创建过程如下图:
2、查找依赖包 —— search和show:
composer search monolog //查询monolog是否存在 composer search laravel //查询laravel是否存在 composer show --all laravel/laravel //显示laracel/laravel这个包的详细信息
3、安装依赖包 —— require 和 install
第一种(推荐):直接执行
composer require monolog/monolog //可以在后面加上2.*或者2.2.*,可以指定版本号
——好了,安装完成。
第二种:
【手动】在composer.json的require中添加需要的包和版本号:
"require": { "monolog/monolog": "1.21.*" //相当于需要这个依赖 },
然后执行安装命令install:
composer install
好了,安装也完成。
4、更新包 —— update (包含删除require里面的包的时候):
composer update //更新所有满足条件的最新依赖包
composer update monolog/monolog //只更新monolog/monolog这个依赖包
——这里需要特别说明,比如你修改了require的依赖包版本,或者删除了这个包,那么composer会自动帮你修改或者删除该依赖。
如下,我把require中的依赖 “monolog/monolog”: “1.21.*” 这一行删除了。然后会发现执行update会自动移除对应的依赖包。那么修改也是同理的。
5、移除指定的包:
composer remove qiniu/php-sdk
——其实也可以直接删除require里的配置,执行update即可。
其他:创建项目zhongjun:
composer create-project topthink/think zhongjun --prefer-dist
关于vendor目录的使用(使用use和require):
<?php namespace app\admin\controller; use think\Controller; use \Qiniu\Auth; require VENDOR_PATH.\'qiniu/php-sdk/autoload.php\'; class Test extends Controller { public function test(){ $bucket = \'zhongjun\'; $accessKey = \'ko4J9NjzDFfrxbkK6xi9lObdVaiRuIh7tUSM\'; $secretKey = \'IW1RyORmp5dJVcvfyiObuhvSmfq-_5FFMVLBtlkq\'; $auth = new Auth($accessKey, $secretKey); $upToken = $auth->uploadToken($bucket); echo $upToken; return $this->fetch(); } }
6、某些情况下你需要更新 autoloader,例如在你的包中加入了一个新的类:
composer dump