Composer的介绍及使用

    类似于yum、apt-get、npm、bower等安装方式,它就是PHP里快速安装类库的.使用composer,我们只要知道包名,直接composer insatll就可以了。

    Composer是PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

示例:

$ composer require monolog/monolog

这是在安装monolog库。

$ composer create-project laravel/laravel learnlaravel5 5.0.22

这是在安装laravel框架并创建项目。

YII框架也是通过composer安装的。


一些优秀的事例:

overtrue/wechat 让微信开发更简单!

catfan/medoo 一款ORM框架

monolog/monolog 日志记录

hprose/hprose RPC框架

你可以在 https://packagist.org/ 找到你需要的库。甚至你可以提交自己写的优秀的库到该平台里供大家使用。


    如果不会composer,流行的laravel、yii框架安装都成为问题,更不用谈学习了;很多优秀的轮子你无法使用。所以,推荐phper必须学会composer。


安装扩展包

以下以monolog为例:声明依赖

在项目目录下创建一个composer.json文件,指明依赖,比如,你的项目依赖 monolog:{

“require”: {
“monolog/monolog”: “1.2.*”
}
}

如果不需要使用https,可以这么写,以解决有时候因为https造成的问题:

{
“require”: {
“monolog/monolog”: “1.2.*”
},
“config”: {
“secure-http”: false
}
}

安装依赖

安装依赖非常简单,只需在项目目录下运行:

composer install

如果没有全局安装的话,则运行:php composer.phar install

更新全部的包(谨慎使用):

composer update

注意:使用composer install或者composer update命令将会更新所有的扩展包,项目中使用需谨慎!!!

若只安装指定的包推荐在命令行使用:

composer require monolog/monolog

进行安装。

如果需要指定版本:

composer require “monolog/monolog:1.2.*”

更新某个包:

composer update monolog/monolog

移除某个包:

composer remove monolog/monolog

如果手动更新了composer.json需要更新autoload:

composer dump-autoload

自动加载

Composer提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行:


require ‘vendor/autoload.php’;

详细示例

{
“require”: {
“php”: “>=5.4.0”,
“illuminate/database”: “*”,
“monolog/monolog”: “1.2.*”
},
“config”: {
“secure-http”: false
},
“autoload”: {
“classmap”: [
“app/models”
],
“files”: [
“vendor/yjc/src/Alipay/autoload.php”
],
“psr-4”: {
“Yjc\Sms\”: “vendor/yjc/src/Sms”
}
}
}

autoload部分指定自动加载的文件夹,每次里面的文件有新增,使用composer dump-autoload即可。


命令汇总

composer list 列出所有可用的命令

composer init 初始化composer.json文件(就不劳我们自己费力创建啦),会要求输入一些信息来描述我们当前的项目,还会要求输入依赖包

composer install 读取composer.json内容,解析依赖关系,安装依赖包到vendor目录下

composer update 更新最新的依赖关系到compsoer.lock文件,解析最新的依赖关系并且写入composer.lock文件

composer search packagename 搜索包,packagename替换为你想查找的包名称

composer require packagename 添加对packagename的依赖,packagename可修改为你想要的包名称

composer show packagename

composer self-update 更新 composer.phar文件自身

composer dump-autoload –optimize 优化一下自动加载

composer command –help 以上所有命令都可以添加 –help选项查看帮助信息

更多可用命令,可以在命令行输入composer进行查看。


注意:

  1. 当下载很慢的时候需要切换到全国镜像进行下载:

    composer config -g repo.packagist composer https://packagist.phpcomposer.com

  2. laravel 使用composer下载会进行一个报错,那是因为laravel停止维护全国镜像.这个时候解决办法就是切换到阿里的composer镜像了

    所有项目都会使用该镜像地址:

    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

    取消配置:

    composer config -g --unset repos.packagist

    download.jpg

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero

WX:xcs345525801 QQ:345525801 Tel:19521445850 Email:xcssh868@163.com

Copyright © 2020 许承胜个人博客 版权所有 备案号:皖ICP备18014705号-1