php composer 安装,[PHP Composer] 安装&使用

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

【后备方案】:如果实在安装不成功,可以去官网下载安装包进行安装

安装教程

【扩展】:php_openssl.dll 必须开启

【版本】:PHP>5.3.2

【环境变量】:事先配置好 PHP 环境变量

【安装】:使用 Windows 命令窗口依次执行

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

php composer-setup.php

php -r "unlink('composer-setup.php');"

【类型】【局部安装】:直至上述步骤为止结束为局部安装,既安装于当前的文件夹内

【类型】【全局安装】:复制 composer.phar 至 PHP 安装目录,并在此目录下创建一个 Composer.bat 复制下面代码至此文件中

[@php](https://learnku.com/users/10050) "%~dp0composer.phar" %*

【测试结果】【局部安装】:切换至安装目录,既 composer.phar 所在目录,然后运行

php composer.phar composer --version

【测试结果】【全局安装】:

composer --version

【测试成功的结果输出】:

You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug

Composer version 1.4.1 2017-03-10 09:29:45

【可能出现的错误】:若提示 SSL 安装失败的信息,是由于没有安装CA证书所导致,前往链接下载证书 ( https://curl.haxx.se/docs/caextract.html ) ,然后配置 php.ini

# @ php.ini 文件中配置 CA 证书路径

openssl.cafile=D:/wamp/bin/php/cacert-2017-01-18.pem

中国全量镜像

【镜像意义】【摘录】:一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com 上下载的,安装包的元数据是从 packagist.org 上下载的。然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。所以经常会导致无法安装或者更新组件包

【镜像原理】【摘录】:Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速 composer install 以及 composer update 的过程,并且更加快速、稳定。因此,即使 packagist.org、github.com 发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。

【全局安装】:打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

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

【局部安装】【命令】:打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:

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

【局部安装】【手动】: 上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):

"repositories": {

"packagist": {

"type": "composer",

"url": "https://packagist.phpcomposer.com"

}

}

【执行安装】:

# @ 在命令窗口执行下载 PS:如果使用的是局部安装,记得切换至安装目录

composer install

安装依赖 & 自动加载

【演示需求】:目前作者正好需要一个组件来完成刚收到的需求:读取 Excel,前往 Packagist 搜索关键词 "excel" 寻找合适的组件

【配置下载器】: 选择好合适的组件后我们需要将组件的信息写入 composer.json ( 注意:这个文件默认是没有的,需要自己创建 )

# @ 填写刚才所记录的 "厂商名/包名" & "版本号" PS:第二条记录是上文所配置的 "中国全量镜像"

{

"require": {

"phpoffice/phpexcel": "1.8.1"

},

"repositories": {

"packagist": {

"type": "composer",

"url": "https://packagist.phpcomposer.com"

}

}

}

【使用多组件 】:本人在实际环境中遇到了组件被删除的情况,其原因是由于 composer.json 配置错误导致

# @ 引入多个组件时必须写在同一个 require 键内否则组件将会被覆盖

{

"require": {

"phpoffice/phpexcel": "1.8.1",

"filp/whoops": "2.1.8"

}

}

【执行下载】:

# @ 在命令窗口执行下载 PS:如果使用的是局部安装,记得切换至安装目录

composer install

【更新组件】:若项目文件夹中已存在composer.lock文件那么请以此执行如下命令

# @ update 命令会根据 composer.json 更新锁文件

composer update

# @ install 命令会检查锁文件是否存在,如果存在将忽略 composer.josn 中的定义 所以需要先执行更新命令

composer install

【自动加载器】:若首次安装组件,你会发现 Composer 会在组件下载完成后在目录下创建 vendor 文件夹,其中就包括了 Composer 免费赠送的符合PSR-4标准的自动加载器

# @ 引入 autoload.php 就可实现自动加载,任何下载的组件都可直接调用,无需再次引入

require 'vendor/autoload.php';

?>

【示例代码】:最后我们直接使用刚才所下载的 PHPExcel 组件即可

# @ Composer 自动加载器

require 'vendor/autoload.php';

# @ PHPexcel 函数类调用

$inputFileName = 'Client.xls';

echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory to identify the format
';

$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);

echo '


';

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

# @ 输出结果

var_dump($sheetData);

?>

【输出结果】:

Loading file Client.xls using IOFactory to identify the format

D:\wamp\www\Excel\index.php:20:array (size=2)

1 =>

array (size=8)

'A' => string '编号' (length=6)

'B' => string '手机' (length=6)

'C' => string '姓名' (length=6)

'D' => string '楼盘编号' (length=12)

'E' => string '户型' (length=6)

'F' => string '楼号' (length=6)

'G' => string '销售编号' (length=12)

'H' => string '楼销编号' (length=12)

2 =>

array (size=8)

'A' => string '2017-0058' (length=9)

'B' => string '34' (length=2)

'C' => string 're' (length=2)

'D' => string 'LP-0018' (length=7)

'E' => string '次卧' (length=6)

'F' => string '34' (length=2)

'G' => string '2017-0002' (length=9)

'H' => string '2017-0003' (length=9)

【结束语】:Composer 毫无疑问是现在使用PHP组件的最佳实践,它为全球的PHP开发者提供了便利并且活跃了社区,尤其对中国开发者而言 "中国全量镜像" 更是一个福音,甚至是沙漠中的绿洲,所以我由衷的感谢为这个开源项目做出贡献的开发者

本作品采用《CC 协议》,转载必须注明作者和本文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值