!
也想出现在这里? 联系我们
广告位
当前位置:首页>技术分享>编程技术>PHP 包管理器 Composer 详解

PHP 包管理器 Composer 详解

Composer 是 PHP 的依赖管理工具,主要用于管理外部工具库间的依赖关系,就像 Node.js 中的 NPM。但 Composer 不是一个包管理器!虽然它涉及 “packages” 和 “libraries”,但它是在项目的基础上进行管理,在项目的目录中进行安装。默认不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

安装

局部安装

在当前目录下运行命令行工具,使用如下命令将 composer.phar 文件下载下来,然后你就可以通过 php composer.phar 指令即可使用 Composer 了!

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

注意:composer.phar 是 Composer 的二进制文件,这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。
注意:使用了宝塔面板可能会报错 proc_open 与 proc_get_status 未定义,删除禁用的函数即可。

全局安装(推荐)

Windows 系统
下载并且运行 Composer-Setup.exe 即可,注意设置好系统的环境变量,之后就可以直接使用 composer 命令使用 Composer 了!
Composer 下载:https://getcomposer.org/download/

注意:使用了宝塔面板可能会报错 putenv 未定义,删除禁用的函数即可。

Mac 或 Linux 系统

打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下即可。

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

使用

以下内容以全局安装为例,局部安装执行将命令 composer 替换为 php composer.phar 即可。

  • 如果你的项目目录下存在 composer.json 或 composer.lock 文件,运行 composer install 会自动安装项目所需依赖。
  • 如果你是新项目,运行 composer init 命令窗体会以交互方式要求您填写一些信息以生成一份 composer.json 文件管理依赖。

初始化 Composer

在当前项目目录下运行命令窗体并输入如下命令:

composer init

PHP 包管理器 Composer 详解

根据交互内容一步步创建完成后会在当前项目目录下生成如下文件结构:
PHP 包管理器 Composer 详解

    • src : 符合 psr-4 规范的自动加载文件
    • vender : 项目依赖包及自动加载文件 autoload.php
    • composer.json : 描述当前项目中依赖关系的 json 文件
  • composer.lock : 锁定版本的 composer.json 文件

注意:项目中使用 Composer 管理依赖时需引入 autoload.php 文件。

require('vendor/autoload.php');

安装依赖

使用具体的依赖安装命令安装依赖包即可开始使用,比如这里安装 nikic/fast-route 路由管理工具。

composer require nikic/fast-route

安装完成后参考相应的工具文档使用即可。

命令行

在 Composer 中常用的命令整理如下:

  • –version (-V) : 显示当前应用程序的版本信息
  • –help (-h) : 显示帮助信息
  • init : 以交互方式初始化一个新的项目
  • install : 获取定义的依赖到你的本地项目
  • update : 获取依赖的最新版本
  • config : 更改 composer 的配置
  • dump-autoload : 配置自动加载文件

参考文档:

给TA打赏
共{{data.count}}人
人已打赏
编程技术

jar 包三步破解 PhpStorm

2022-5-13 13:17:07

编程技术

php是怎么工作的(揭秘php工作的原理)

2022-7-16 13:39:14

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 2651636361@qq.com 或点击右侧 私信:少羽 反馈,我们将尽快处理。
0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索