广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何使用PHP依赖管理工具Composer
  • 862
分享到

如何使用PHP依赖管理工具Composer

2024-04-02 19:04:59 862人浏览 独家记忆
摘要

目录前言安装Composercomposer常用命令selfupdatedumpautoloadinstallupdaterequirecreate-projectPHPStudy集

前言

别再到处搜php类扩展包了,对于现代语言而言,包管理器基本上是标配。Java 有 Mavenpython 有 pip,Ruby 有 gem,nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少:

  • 依赖处理容易出问题
  • 配置非常复杂
  • 难用的命令行接口

好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。

举个例子,平时我们开始的时候如果不是用框架,想要一个验证码,就要先去Gihutb或者其他地方找一个验证码类,然后在项目中include一下,再编辑编辑就跑起来了,以至于到后期项目维护都可能会出现问题。在GitHub上开源的,那还能点个watch,看到有Bug修复或新版本发布,能及时跟着升级。

如果下载的扩展包多了,就需要各种include了,还有可能出现命名空间冲突的问题,又要根据项目去更改命名空间,如果扩展包升级了,又要重新下载编辑,这是十分不方便的。所以Composer依赖管理库就这样诞生了。

上面就是Compser比较重要的需求场景。

1.能方便安装升级扩展包

2.只include就行,不用到处写include

3.避免命名空间的冲突

平时都去github、码云等平台上找扩展包,而现在也有一个网站把所有包综合起来,也就说现在的开发方式:首先在packaGISt上搜索,然后用Composer安装升级。

安装Composer

傻瓜式安装的话就是直接点击https://getcomposer.org/Composer-Setup.exe,下载安装就行了,安装程序将为你下载Composer并设置你的PATH环境变量,以便你可以简单地Composer从任何目录调用。

安装的过程中需要注意的是要找到php.exe的根目录,选择正确的PHP路径。这里就不提供截图了,因为我也没下好,而且我也是手动安装的。

选择目录应该是这样的:

D:\phpStudy\php\php-7.0.12-nts\php.exe

下面还是着重介绍手动安装的,我觉得这种方法十分好用:

先下载一个composer.phar文件,将phar文件放在developer文件夹中,这个你随意,不限制放在哪个文件夹中。

然后打开DOS窗口,或者快捷键windows+R输入cmd,使用以下命令,先要进入到你放置phar文件的目录

D:\developer\composer>echo @php "%~dp0composer.phar" %*>composer.bat

安装成功的标志就是在命令行输入

composer -v

显示如下内容

看到这里我就都当成Composer已经安装成功了,在中国局域网内,使用Composer是比较慢的,不过好在国内有镜像,执行如下命令切换到国内的镜像,国内镜像所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求。

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

这样做就相当于全局更改了配置,我选择修改当前项目的 composer.JSON 的配置文件:


{
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

composer常用命令

selfupdate

更新 composer 本身,请经常执行 composer selfupdate 以保持 Composer 一直是最新版本。

composer selfupdate等价于

composer self-update

dumpautoload

当我们更改了 composer.json 文件中的 autoload 时,需要执行 composer dumpautoload,来让 autoload 立即生效。而不必执行 install 或 update 命令。

composer dumpautoload

等价于

composer dump-autoload

dumpautoload 命令有两个常用的选项:

--optimize (-o): 转换 PSR-0/4 autoloading 到 claSSMap ,以获得更快的载入速度。这特别适用于生产环境,但可能需要一些时间来运行,因此它目前不是默认设置。

--no-dev: 禁用 autoload-dev 规则。

install

composer install

依据当前目录下的 composer.lock(文件) 或 composer.json 文件,所定义的依赖关系,安装依赖包。

install 命令会先检查 composer.lock 锁文件是否存在,如果存在,它将下载 composer.lock 文件中指定的版本,而忽略 composer.json 文件中的定义。

# 查看 composer install 的帮助信息

composer install -h

# 只安装 require 中定义的依赖,而不安装 require-dev 中定义的依赖

composer install --no-dev

update

如果你想更新你的依赖版本,或者你修改了 composer.json 中的依赖关系,想让 composer 按照 composer.json 文件中的定义执行更新操作,就用 update 命令。

composer update

require

require 命令一般用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。

如果 composer.json 文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。

composer require

你也可以直接在命令中指明需要安装的依赖包。

composer require barryvdh/laravel-ide-helper

--dev 选项和 require-dev 相对应。如果你的依赖包仅仅用于开发环境,建议加上 --dev 选项。

composer require --dev barryvdh/laravel-ide-helper

create-project

你可以使用 create-project 从现有的包中创建一个新的项目。

它相当于执行了 git clone 命令后,将这个包的依赖安装到它自己的 vendor 目录。

此命令有几个常见的用途:

你可以快速的部署你的应用。

你可以检出任何资源包,并开发它的补丁。

多人开发项目,可以用它来加快应用的初始化。

# 安装 Laravel 项目

composer create-project --prefer-dist laravel/laravel blog 5.5.*

如果没有指定版本号,就默认安装最新的版本。

--prefer-dist: 当有可用的包时,从 dist 安装。

phpStudy集成环境下 安装composer失败

报错提示:

The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

The "https://getcomposer.org/download/1.2.0/composer.phar.sig" file could not be downloaded: SSL: crypto enabling timeout

Failed to enable crypto

failed to open stream: operation failed

1、安装composer需要开启openssl拓展 而phpstudy默认是关闭的

2、将php目录下的ssleay32.dll,libeay32.dll以及php/ext文件夹下的:php_openssl.dll 3个文件拷贝到WINDOWS\system32 文件夹下。

3、openssl需要CA证书 phpstudy也是没有的

CA证书下载地址:http://curl.haxx.se/docs/caextract.html

选中之后单击右键选择另存为

下载成功之后放到tmp文件夹下面

4、然后修改php.ini文件

openssl.cafile = "D:\phpStudy\tmp\cacert.pem"

5、重启phpStudy就可以了报错提示:

1 failed to open stream: HTTP request failed!

1、检查一下php的curl拓展是否开启

2、检查这两个配置是否开启。

allow_url_fopen = On

user_agent="PHP"

也可以这样配置 user_agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)")

模拟浏览器访问也是一个不错的选择

3、开启之后重启重启phpStudy就可以了

PS: openssl.cafile 配置选项, 是 PHP 5.6.0. 以上的版本才支持的

以上就是如何使用PHP依赖管理工具Composer的详细内容,更多关于使用PHP依赖管理工具Composer的资料请关注编程网其它相关文章!

--结束END--

本文标题: 如何使用PHP依赖管理工具Composer

本文链接: https://www.lsjlt.com/news/127080.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用PHP依赖管理工具Composer
    目录前言安装Composercomposer常用命令selfupdatedumpautoloadinstallupdaterequirecreate-projectphpStudy集...
    99+
    2022-11-12
  • PHP依赖管理工具Composer入门教程
    Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 依赖管理 Composer 不是一个包管理器。是的,它涉及 "packages" 和 "librari...
    99+
    2022-06-03
    Composer Linux PHP Windows 依赖管理 安装 教程
  • 宝塔Linux面板安装Composer依赖管理工具与PHP依赖包的方法
    最近看见腾讯云有一个AI绘画还挺有意思,想搞来写个接口玩  但是Composer一直运行不成功 提示xdebug什么的 最后经过搜索 发现 需要删除你宝塔里所有php中禁用的putenv函数 然后重启php就可以了!  然后就可以运行这...
    99+
    2023-10-08
    composer php
  • 如何安装php管理工具composer
    小编给大家分享一下如何安装php管理工具composer,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我把它放在系统的PATH目...
    99+
    2022-10-19
  • Python依赖管理及打包工具Poetry使用规范
    目录啥是依赖规范版本约束^ 约束~ 约束* 约束比较符git 依赖路径依赖url 依赖Python 限制依赖项多个限制使用环境限制扩展依赖规范语法啥是依赖规范 可以以各种形式指定项目...
    99+
    2022-11-12
  • 使用Composer插件来优化项目依赖管理的技巧
    如何使用Composer插件来管理项目依赖引言:在现代软件开发中,依赖管理是一个关键的任务。随着项目越来越复杂,可能会涉及到许多不同的库和框架。为了更好地管理这些依赖项,Composer成为了许多开发人员首选的工具。除了Composer本身...
    99+
    2023-12-26
    管理 项目依赖 Composer插件
  • Laravel和Linux:如何使用npm管理依赖?
    Laravel是一个流行的PHP框架,它提供了很多强大的功能和工具,帮助开发者快速构建高质量的Web应用程序。其中一个重要的工具就是npm,它是一个用于管理JavaScript依赖的包管理器。在本文中,我们将讨论如何使用npm来管理Lara...
    99+
    2023-10-13
    linux npm laravel
  • 如何使用replace属性来避免Composer的依赖冲突
    这篇文章将为大家详细讲解有关如何使用replace属性来避免Composer的依赖冲突,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Composer 文档提供了两个基本的示例。 我将尝试解释一下:列出被该...
    99+
    2023-06-09
  • 如何使用NPM来管理Java的版本依赖?
    在Java的开发过程中,我们经常需要使用到各种各样的库和框架,这些依赖的版本管理是非常重要的一项工作。在Node.js的生态中,我们通常会使用NPM来管理依赖,那么,我们是否也可以使用NPM来管理Java的版本依赖呢?本文将会介绍如何使用...
    99+
    2023-09-23
    索引 npm leetcode
  • 如何在Java项目中使用NPM管理依赖?
    Java项目中使用NPM管理依赖是一种非常常见的做法,它可以帮助我们更好地管理项目中的第三方库和工具。本文将详细介绍如何在Java项目中使用NPM管理依赖。 什么是NPM? NPM是Node Package Manager的缩写,是一个基于...
    99+
    2023-10-28
    git npm numy
  • 如何使用NPM来管理您的项目依赖?
    对于前端开发人员来说,项目依赖的管理一直是一个非常重要的任务。如果您经常使用Node.js来构建应用程序,那么您应该已经熟悉了NPM(Node Package Manager)。NPM是一个包管理器,它允许您轻松地管理您的项目依赖。在本篇...
    99+
    2023-08-30
    索引 git npm
  • Bash中如何使用NPM管理Spring应用的依赖?
    Spring是一个流行的Java应用框架,用于构建企业级应用程序。与其他开源框架一样,Spring也需要依赖库的支持。在本文中,我们将介绍如何使用npm管理Spring应用的依赖。 npm是一个流行的Node.js包管理器,它可以帮助我们...
    99+
    2023-09-10
    npm bash spring
  • ASP 中如何使用 npm 安装和管理依赖项?
    在 ASP 中使用 npm 安装和管理依赖项是非常方便的。npm 是一个 Node.js 的包管理工具,可以帮助 ASP 开发者快速地安装和管理项目依赖项。 本文将介绍如何在 ASP 中使用 npm 安装和管理依赖项。 步骤 1:安装 N...
    99+
    2023-08-29
    npm path numy
  • 如何在PHP开发中有效管理项目依赖?
    如何在PHP开发中有效管理项目依赖?在PHP开发中,项目依赖的管理对于项目的成功和顺利进行非常重要。有效管理项目依赖可以提高项目的开发效率、简化代码维护和升级过程,保证项目的稳定运行。本文将介绍一些在PHP开发中有效管理项目依赖的方法和工具...
    99+
    2023-11-04
    PHP开发 项目依赖 有效管理
  • 如何利用NPM管理PHP项目中的对象依赖项?
    随着PHP项目规模的增长,对象依赖项管理变得越来越重要。NPM作为一个强大的包管理器,可以帮助我们管理PHP项目中的对象依赖项。本文将介绍如何使用NPM管理PHP项目中的对象依赖项,并提供一些示例代码。 一、安装NPM 在使用NPM之前,我...
    99+
    2023-10-17
    linux npm 对象
  • 如何在Java项目中使用NPM管理文件依赖?
    在Java项目中,使用NPM管理文件依赖是一种很方便的方式。在本文中,我们将会详细介绍如何在Java项目中使用NPM管理文件依赖,包括如何安装NPM,如何创建一个Java项目,如何添加依赖以及如何运行Java项目。 一、安装NPM 在开始之...
    99+
    2023-11-07
    npm 文件 二维码
  • 如何使用Composer包管理器?
    随着 PHP 社区的不断壮大和应用程序的复杂化,传统的手动安装和管理 PHP 应用程序的方式已经无法满足我们的需求。相反,我们需要一种更为高效和自动化的方式来管理 PHP 应用程序的依赖项和版本控制。这就是 Composer 包管理器所涉及...
    99+
    2023-05-20
    使用 包管理器 Composer
  • 如何在 Laravel 中使用 ASP 容器来管理依赖关系?
    Laravel 是一款非常流行的 PHP 框架,它采用了现代化的设计理念,提供了丰富的功能和组件,使得开发者可以快速构建出稳健高效的 Web 应用程序。但是在开发过程中,我们经常会遇到依赖关系管理的问题,这时候我们可以借助 ASP 容器来解...
    99+
    2023-09-30
    容器 关键字 laravel
  • 如何在Linux上使用Python管理和监控npm依赖项?
    随着JavaScript在现代Web应用程序中的重要性不断增加,Node.js和npm也变得越来越流行。但是,这些依赖项也需要管理和监控,否则它们可能会成为开发过程中的瓶颈。在Linux系统上,使用Python可以轻松地管理和监控npm依赖...
    99+
    2023-08-25
    npm 数据类型 linux
  • 如何使用npm来管理ASP应用程序的依赖关系?
    ASP.NET是一种流行的Web应用程序框架,它使用C#或VB.NET等语言编写。在开发ASP.NET应用程序时,我们通常会使用许多第三方库和工具,如jQuery、Bootstrap、Entity Framework等。这些库和工具的管理...
    99+
    2023-08-04
    存储 异步编程 npm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作