举个例子,平时我们开始的时候如果不是用框架,想要一个验证码,就要先去Gihutb或者其他地方找一个验证码类,然后在项目中include一下,再编辑编辑就跑起来了,以至于到后期项目掩护都可能会涌现问题。在Github上开源的,那还能点个watch,看到有Bug修复或新版本发布,能及时随着升级。
如果下载的扩展包多了,就须要各种include了,还有可能涌现命名空间冲突的问题,又要根据项目去变动命名空间,如果扩展包升级了,又要重新下载编辑,这是十分未便利的。以是Composer依赖管理库就这样出身了。
上面便是Compser比较主要的需求场景。

平时都去Github、码云等平台上找扩展包,而现在也有一个网站把所有包综合起来,也就说现在的开拓办法:首先在packagist上搜索,然后用Composer安装升级。
安装Composer
傻瓜式安装的话便是直接点击https://getcomposer.org/Composer-Setup.exe,下载安装就行了,安装程序将为你下载Composer并设置你的PATH环境变量,以便你可以大略地Composer从任何目录调用。
安装的过程中须要把稳的是要找到php.exe的根目录,选择精确的PHP路径。这里就不供应截图了,由于我也没下好,而且我也是手动安装的。
选择目录该当是这样的:
D:\phpStudy\php\php-7.0.12-nts\php.exe
面还是着重先容手动安装的,我以为这种方法十分好用:
先下载一个composer.phar文件,将phar文件放在developer文件夹中,这个你随意,不限定放在哪个文件夹中。
然后打开DOS窗口,或者快捷键windows+R输入cmd,利用以下命令,先要进入到你放置phar文件的目录
D:\developer\composer>echo @php \"大众%~dp0composer.phar\"大众 %>composer.bat
安装成功的标志便是在命令行输入
composer -v
显示如下内容
看到这里我就都当成Composer已经安装成功了,在中国局域网内,利用Composer是比较慢的,不过好在海内有镜像,实行如下命令切换到海内的镜像,海内镜像所做的便是缓存所有安装包和元数据到海内的机房并通过海内的 CDN 进行加速,这样就不必再去向国外的网站发起要求。
composer config -g repo.packagist composer https://packagist.phpcomposer.com
这样做就相称于全局变动了配置,我选择修合法前项目的 composer.json 的配置文件:
{ \公众repositories\公众: { \"大众packagist\"大众: { \"大众type\公众: \公众composer\"大众, \"大众url\"大众: \公众https://packagist.phpcomposer.com\公众 } }}
composer常用命令
selfupdate
更新 composer 本身,请常常实行 composer selfupdate 以保持 Composer 一贯是最新版本。composer selfupdate等价于composer self-update
dumpautoload
当我们变动了 composer.json 文件中的 autoload 时,须要实行 composer dumpautoload,来让 autoload 立即生效。而不必实行 install 或 update 命令。composer dumpautoload等价于composer dump-autoload
dumpautoload 命令有两个常用的选项:
--optimize (-o): 转换 PSR-0/4 autoloading 到 classmap ,以得到更快的载入速率。这特殊适用于生产环境,但可能须要一些韶光来运行,因此它目前不是默认设置。
--no-dev: 禁用 autoload-dev 规则。
install
composer install
依据当前目录下的 composer.lock(锁文件) 或 composer.json 文件,所定义的依赖关系,安装依赖包。
install 命令会先检讨 composer.lock 锁文件是否存在,如果存在,它将下载 composer.lock 文件中指定的版本,而忽略 composer.json 文件中的定义。
# 查看 composer install 的帮助信息composer install -h# 只安装 require 中定义的依赖,而不安装 require-dev 中定义的依赖composer install --no-dev
update
如果你想更新你的依赖版本,或者你修正了 composer.json 中的依赖关系,想让 composer 按照 composer.json 文件中的定义实行更新操作,就用 update 命令。
composer update
require
require 命令一样平常用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。
如果 composer.json 文件中,添加或改变了依赖,修正后的依赖关系将被安装或者更新。
composer require
你也可以直接在命令中指明须要安装的依赖包。
composer require barryvdh/laravel-ide-helper
--dev 选项和 require-dev 相对应。如果你的依赖包仅仅用于开拓环境,建议加上 --dev 选项。
composer require --dev barryvdh/laravel-ide-helper
create-project
你可以利用 create-project 从现有的包中创建一个新的项目。
它相称于实行了 git clone 命令后,将这个包的依赖安装到它自己的 vendor 目录。
此命令有几个常见的用场:
你可以快速的支配你的运用。
你可以检出任何资源包,并开拓它的补丁。
多人开拓项目,可以用它来加快运用的初始化。
# 安装 Laravel 项目composer create-project --prefer-dist laravel/laravel blog 5.5.
如果没有指定版本号,就默认安装最新的版本。
--prefer-dist: 当有可用的包时,从 dist 安装。
phpStudy集成环境下 安装composer失落败
报错提示:
The \"大众https://getcomposer.org/versions\公众 file could not be downloaded: failed to open stream: 由于连接方在一段韶光后没有精确答复或连接的主机没有反应,连接考试测验失落败。The \"大众https://getcomposer.org/download/1.2.0/composer.phar.sig\"大众 file could not be downloaded: SSL: crypto enabling timeoutFailed to enable cryptofailed to open stream: operation failed
1、安装composer须要开启openssl拓展 而phpstudy默认是关闭的
2、将php目录下的ssleay32.dll,libeay32.dll以及php/ext文件夹下的:php_openssl.dll 3个文件拷贝到WINDOWS\system32 文件夹下。
3、openssl须要CA证书 phpstudy也是没有的
CA证书下载地址:http://curl.haxx.se/docs/caextract.html
选中之后单击右键选择另存为
下载成功之后放到tmp文件夹下面
4、然后修正php.ini文件
openssl.cafile = \"大众D:\phpStudy\tmp\cacert.pem\"大众
5、重启phpStudy就可以了
报错提示:
failed to open stream: HTTP request failed!
1、检讨一下php的curl拓展是否开启
2、检讨这两个配置是否开启。
allow_url_fopen = Onuser_agent=\"大众PHP\"大众
也可以这样配置 user_agent=\"大众Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\"大众)
仿照浏览器访问也是一个不错的选择
3、开启之后重启重启phpStudy就可以了
PS: openssl.cafile 配置选项, 是 PHP 5.6.0. 以上的版本才支持的
也可以这样配置 user_agent=\"大众Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\"大众)
仿照浏览器访问也是一个不错的选择
3、开启之后重启重启phpStudy就可以了
PS: openssl.cafile 配置选项, 是 PHP 5.6.0. 以上的版本才支持的