设为首页 收藏本站
查看: 572|回复: 0

[经验分享] 使用Composer管理PHP依赖关系

[复制链接]

尚未签到

发表于 2017-3-31 08:49:08 | 显示全部楼层 |阅读模式
  Composer PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
  系统需求:
  Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。比如PHP的扩展的要求是,安装或重新编译php without –disable-phar
  Composer 是兼容多平台的,其运行适用于Windows,Linux和OSX。
  这个命令会将 composer.phar 下载到当前目录。

curl -sS https://getcomposer.org/installer | php
  你可以使用 --install-dir 选项将 Composer 安装到指定的目录,例如:

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
  当然也可以进行全局安装

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
  OSX安装(非全局)

brew tap josegonzalez/homebrew-php
brew install josegonzalez/php/composer
  不过通常情况下只需将 composer.phar 的位置加入到 PATH 环境变量就可以,不一定要全局安装。安装完成后,检查安装版本。
DSC0000.png
  Composer中国镜像
  使用本镜像服务就意味着下载的所有的安装包元数据都将来自本镜像服务,而不再向 packagist.org 发起请求。这将加速 Composer 的安装过程,并且更加可靠、快速。(由于众所周知的原因,国外的网站连接速度太慢,并且随时可能被墙)
  一般情况下,安装包的数据(zip 文件等)一般是从 GitHub 或其他第三方服务器上下载的,使用本镜像服务后,我们会缓存所有安装包到国内的机房,这样就不必再去向国外的网站发起请求,因此,即使 packagist.org、github.com 或其他第三方服务发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
  启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json中(系统全局配置)
  查看 composer 主目录:通过 composer config -l -g 命令可以列出 composer 的全局配置信息,在这些信息中查找 [home] 配置项就是 composer 的主目录。Linux 用户请执行 sudo composer config -l -g 命令。
  进入 composer 的主目录,打开 config.json 文件(如果没有就自己创建一个),然后增加本镜像服务的配置信息,最终内容如下:

{
"config": {
},
"repositories": [
{"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"},
{"packagist": false}
]
}
声明依赖
  在项目目录下创建一个composer.json文件,指明依赖,比如,你的项目依赖 monolog:将中国镜像配置信息添加到你的项目的composer.json 文件中(针对单个项目配置)

{
"require": {
"monolog/monolog": "1.2.*"
}
/*"repositories": [
{"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"},
{"packagist": false}
]*/
}
   

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

composer install
composer update
   如果没有全局安装的话,则运行

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

require 'vendor/autoload.php';
  下载安装成功界面
DSC0001.png
 
  Composer是PHP中的一个依赖关系管理工具。通过Composer我们可以在发布软件时节省大量的文件数目和控制依赖包的版本。
  Composer中文网:http://www.phpcomposer.com/
  Composer Github项目:https://github.com/composer/composer
  PHP Composer软件包列表:https://packagist.org/
  cmd> composer init

{
"name": "a/a",
"authors": [
{
"name": "asdfas",
"email": "asdfa@123.com"
}
],
"require": {}
}
  打开网址https://packagist.org/ 搜索包 overtrue/validation如果有,按照页面的提示输入命令
  cmd > composer require overtrue/validation



 

 

 

 

 

 

 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-357900-1-1.html 上篇帖子: 基于php的差量更新工具 下篇帖子: 深入PHP-直观观察array的扩展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表