对于现代语言而言,包管理器基本上是标配,Java有Maven,Python有pip,NodeJs有npm ,PHP之前是PERAR,不过PEAR有很多缺点。 依赖处理容易出现问题 配置非常复杂 难用的命令行接口好在Composer诞生了。
Composer是PHP中用来管理依赖关系的工具。你可以在自己的项目中声明所依赖的PHP包,Composer会帮我们安装这些依赖的库文件。这类似于CentOs中的yum命令。 毫不夸张的说,现在不知道composer的phper,不是一个好phper。
Composer作用
composer是用来管理(更新、下载、卸载)php包 composer还可以实现自动加载
在Linux安装composer步骤
a. 设置CentOs时间与网络时间同步(如果你的服务器时间不准确才需要设置) 安装ntpdate工具
$ yum -y install ntp ntpdate
设置系统时间与网络时间同步
$ ntpdate cn.pool.ntp.org
将系统时间写入硬件时间
$ hwclock --systohc
b. centos全局安装composer
//composer下载地址https://getcomposer.org/composer.phar
//将下载下来的composer.phar文件移动到/usr/local/bin目录下 是命令全局可用
mv composer.phar /usr/local/bin/composer
c. 设置composer源 如果不设置composer源,那么composer将默认从国外下载包,速度将很慢。
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
使用Composer安装依赖包 在项目目录建立composer文件,说明依赖,
比如你的项目依赖monolog 那么你需要在composer.json文件中输入以下内容:
{
"require":{
"monolog/monolog":"1.21.*"
}
}
/**
composer.json文件格式
{
"require":{
"厂商/类库":"版本说明"
}
}
**/安装依赖
安装依赖非常简单,只需在项目目录下运行:
$composer install //根据composer.json文件require类库安装对应类库
运行了composer install 后就会下载写在composer.json文件中的包了
如果没有全局安装composer的话,则运行
$ php composer.phar install
注意php必须已经加入环境变量
另外一种使用composer下载包的方式
$ composer install 包名
使用Composer安装的代码 Composer提供了自动加载的特性,只需要在你的代码中加入下面一行:
require 'vendor/autoload.php';
Composer仓库 packagist.org网站是Composer的仓库,很多著名的PHP库都能在其中找到。我们也可以提交自己的库。
更新Composer
Composer更新
$ composer self-update
更新依赖
//如果修改了Composer.json文件,需要执行下面的命令,Composer.json文件才生效
$ composer update
如果你只是想更新几个包,你可以分别列出他们:
$ composer update vendor/package vendor/package2
如何使用我们写的代码
a. 编写composer.json告诉composer我们的代码在哪里
"autoload":{
"psr-4":{
"app\\Controller\\":"app/Controller",
"app\\Model\\":"app/Model"
}
}
"app\\Controller\\":"app/Controller",
//左边("app\\Controller\\")的是 命名空间
//右边("app/Controller")的是对应命名空间的代码的目录b. 更新composer.json文件
$ composer update
c. 只要在入口文件中
//也可以使用你自己写的代码了
require('./vendor/autoload.php');第一次使用composer完整步骤
a. 去到官网选择手动下载,得到composer.phar文件 https://getcomposer.org/composer.phar
b. 将composer放入Linux命令中
$ mv composer.phar /usr/local/bin/composer
c. 生成一个composer.json文件
$composer init
d. 将你要下载包,写到composer.json文件中。包名可以去https://packagist.org/网站找
{
"require":{
"monolog/monolog":"1.21.*",
"phpoffice/phpexcel": "^1.8",
"overtrue/wechat": "~3.1"
}
}e. 配置packagist国内镜像
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
f. 安装包
$ composer install
已经生成composer.json后如何安装包
a. 先确定你要安装包名 比如,我要下载predis/predis
b. 运行下面命令下载
$ composer require 厂商/类库=版本说明 // 不配置composer.json文件新增类库方法
安装后的类库卸载
$ composer remove predis/predis
利用composer创建项目命令
$ composer create-project laravel/laravel=5.1.33
只更新自动加载而不去更新依赖composer dump-autoload
如果本文对你有帮助,欢迎打赏本站

支付宝扫码打赏
微信扫码打赏
