• PHP包管理工具composer简单总结


    前言

    接触laravel之后,才知道有PSR,composer之类的东西,PHP已经不再是一门草根语言了。最近在尝试玩thrift,需要安装PHP thrift依赖库,使用composer install apache/thrift会提示composer.json文件不存在,这个文件确实不存在,难道就不能安装了吗?后来发现可以通过composer require apache/thrift安装,这个命令会尝试创建composer.json配置文件。通过这件事情,发现对composer还是不是很了解,于是花了点时间详细了解,于是使用自己的语言编织了这篇文章。

    实现原理

    获取包元信息,项目源码地址库下载包以及依赖的包,安装到本地

    安装

    composer需要PHP5.3.2+版本以及需要开启phar扩展

    composer是由PHP编写以及使用PHP phar打包压缩的一个linux shell环境下可执行的文件(phar格式文件可以通过PHP命令行执行)
    [wadeyu@localhost ~]$ curl -sS https://getcomposer.org/installer | php


    [root@localhost wadeyu]# mv composer.phar /usr/local/bin/composer

    配置

    设置镜像地址(中国的镜像地址 -g参数表示全局配置)

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

    设置进程执行超时时间(单位秒)

    composer config -g process-timeout 600

    查看配置列表

    composer config -g -l

    配置文件说明
    项目根目录下命名为composer.json的文件,使用JSON格式定义项目或者包相关的信息

    使用

    composer命令自动更新(有时候更新不了:()

    composer self-update

    声明依赖包(当前执行目录不存在composer.json会尝试创建)

    composer require 包名

    安装包(composer.json声明需要安装的依赖包)

    composer install

    更新包

    composer update [包名1 包名2 ...]

    搜索包(没有composer.json配置文件会执行远程搜索速度会比较慢:()

    composer search 模式符

    显示命令列表
    composer list

    更新autoload自动加载配置
    composer.json添加autoload配置
    composer dump-autoload

    后记

    我大概深入的了解了下,现在基本上能够满足我日常使用,后面碰到问题可以查看下面的参考资料。多个项目间需要共享代码而又不能发布到公共仓库时,可以搭建本地包元数据服务以及包源码下载的代码管理服务,这个应该是可行的,我没有尝试过:(

    参考资料
    【1】composer中文网
    http://www.phpcomposer.com/
    【2】composer工具手动下载地址
    https://getcomposer.org/download/
    【3】Packagist/Composer中国全量镜像
    http://pkg.phpcomposer.com/
    【4】composer.json配置详细说明
    http://docs.phpcomposer.com/04-schema.html
    【5】composer基本用法
    http://docs.phpcomposer.com/01-basic-usage.html

    作者:WadeYu
    出处:http://www.cnblogs.com/wadeyu/
    本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    C#组合算法 (2)
    用匿名函数来更方便的使用缓存
    之通用权限(五):项目描述表组(转)
    软件代码(程序)管理办法
    搭建开发架构的思路
    (转)七秘诀工作效率与薪水翻番
    uml学习入门 2面向对象方法分析与设计
    一个.Net开发组合:Powerdesigner+数据库+分层设计+.Net代码生成器+VS2005
    Log4Net介绍
    【自然框架】之通用权限(一):简介、数据结构 (转)
  • 原文地址:https://www.cnblogs.com/wadeyu/p/5451990.html
Copyright © 2020-2023  润新知