为了账号安全,请及时绑定邮箱和手机立即绑定

Composer : php依赖管理工具

标签:
PHP

原始时代

我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了

总结如下

  • 代码混乱

  • 规范不统一

  • 没有后续统一更新等管理

Composer侠应运而生

composer直到如今 已有5个年头了,也是直到今年才有了第一个稳定版本1.0,以前都是alpha版本了,其实composer的发展 也和 PHP-FIG (后续会专门解释的)的发展有很大关系


composer是php新时代的依赖管理利器,就像python的pip,nodejs的npm,javascript的bower等。你可以在自己的项目申明所依赖的外部库,composer可以帮你安装这些

composer解决如下问题

  • 你有一个项目需要依赖若干个库

  • 其中一个库依赖其他库

  • 找出你需要的版本进行安装


安装Composer

要求

composer 要求 php 不低于 5.3.2+

命令

1curl -sS https://getcomposer.org/installer | php


过程如下

$ curl -sS https://getcomposer.org/installer | php

All settings correct for using Composer

Downloading 1.2.1...

 

Composer successfully installed to: /home/www/php/test/helloworld/composer.phar

Use it: php composer.phar

 

$ ll

-rwxr-xr-x 1 501 dialout 1704783 Oct 10 23:20 composer.phar*

可以看到执行上述命令之后 会将composer.phar文件下载在当前目录。phar是php的压缩格式,可以直接在命令行运行该文件

全局安装命令

1mv composer.phar /usr/local/bin/composer

Composer基本使用

composer.json

要在你的项目和库使用composer,那么composer.json就是必要文件,可以自行新建。内容是JSON格式非常容易编写

配置国内镜像源

将如下代码也放在composer.json中去

"repositories": {

  "packagist": {

    "type": "composer",

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

  }

}


申明依赖 require

例如我的项目依赖phpexcel,申明如下

{

  "require":{

    "phpoffice/phpexcel": "1.8.0"

  }

}


把上面两步代码合并起来,composer代码如下

{

  "require":{

    "phpoffice/phpexcel": "1.8.0"

  },

  "repositories": {

    "packagist": {

      "type": "composer",

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

    }

  }

}


安装依赖

1php composer.phar install

使用国内镜像源安装很快的(会自动生成一个autoload.php文件),安装完结构如下

$ tree -L 2

|-- composer.json

|-- composer.lock

|-- composer.phar

|-- index.php

|-- vendor

    |-- autoload.php

    |-- composer

    |-- phpoffice


自动加载

在index.php加入一行 代码就可以直接使用库了

1require 'vendor/autoload.php'

Composer高级特性

安装单个库

1

2

php composer.phar update phpoffice/phpexcel

php composer.phar update phpoffice/phpexcel:dev-master

更新单个库

有时间想更新某一个库,不想更新依赖,很简单

1php composer.phar update phpoffice/phpexcel

直接安装库 不用编辑composer.json

你要是觉得没添加一个库就要修改composer.json麻烦,可以直接使用 require 命令

1php composer.phar require monolog/monolog  #日志操作库


结构如下

$ tree -L 2

|-- composer.json

|-- composer.lock

|-- composer.phar

|-- index.php

|-- README.MD

 -- vendor

    |-- autoload.php

    |-- composer

    |-- monolog

    |-- phpoffice

    |-- psr


移除扩展

1php composer.phar remove sinergi/browser-detector

生产环境优化

当你把项目部署到线上环境,不要忘了执行如下代码优化自动加载,可以提高20%左右的性能

1php composer.phar dump-autoload --optimize

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消