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

 

posted @ 2017-10-17 19:47  小寒1206  阅读(4136)  评论(0编辑  收藏  举报