推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

【笔记】Composer依赖管理 – PHP的春天,带上一些踩过的坑

   2023-08-10 网络整理佚名1280
核心提示:在上开源的,那还能点个watch,看到有Bug修复或新版本发布,能及时跟着升级。如果下载的扩展包多了,就需要各种了,还有可能出现命名空间冲突的问题,又要根据项目去更改命名空间,如果扩展包升级了,又要重新下载编辑,这是十分不方便的。文件,所定义的依赖关系,安装依赖包。文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。你也可以直接在命令中指明需要安装的依赖包。

文章正文

别再到处寻找类似PHP的扩展包了,对于现代语言来说,包管理器基本上都是标配了。 Java 有 Maven,有 pip,Ruby 有 gems,有 npm。 PHP 是 PEAR,但是 PEAR 有很多陷阱:

幸运的是,我们有一个强大的 PHP 依赖管理工具。 它是开源的,使用简单,并且很容易提交您自己的包。

比如我们一开始不使用框架,想要一个验证码,我们就得先去或者在其他地方找到一个验证码类,然后在项目中点击它,然后编辑运行,以便我们到达之后的项目维护中可能会出现问题。 如果是网上开源的,还可以点击一个手表查看是否有bug修复或者新版本发布,可以及时更新。

如果你下载的扩展包太多,就会需要各种各样的,而且可能会出现命名空间冲突,得根据项目来更改命名空间。 如果扩展包升级了,还得重新下载编辑,非常不方便的。 于是依赖管理库就诞生了。

以上是比较重要的需求场景。

易于安装和升级扩展包

做就做,不用到处写

避免命名空间冲突

我一般都会去、码云等平台寻找扩展包,但是现在也有一个网站集成了所有的包,这意味着现在的开发方式:先在网上搜索,然后使用安装即可升级。

安装

对于傻瓜式安装,只需直接点击,下载并安装,安装程序会为您下载并设置您的 PATH 环境变量,以便您可以轻松地从任何目录调用它。

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

选择目录应如下所示:

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

下面还是以手动安装为主,我觉得还是很有用的:

首先下载一个.phar文件,并将phar文件放在一个文件夹中。 您可以随意将其放在任何文件夹中。

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

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

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

composer -v

显示以下内容

当我看到这个的时候,我就认为安装成功了。 在中国局域网中,使用起来比较慢,好在中国有镜像。 执行以下命令切换到国内镜像。 国内镜像所做的就是缓存所有的安装包和元数据,发送到国内机房,通过国内CDN进行加速,这样就不需要向国外网站发起请求。

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

这样做相当于全局更改配置。 我选择修改当前项目的.json配置文件:

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

常用命令

更新 composer 本身,请经常执行 composer selfupdate 以保持 Composer 一直是最新版本。
composer selfupdate
等价于
composer self-update

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

该命令有两个常用选项:

-- (-o):将 PSR-0/4 转换为以加快加载速度。 这在生产环境中特别有用,但可能需要一些时间才能运行,因此当前不是默认设置。

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

composer install

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

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

# 查看 composer install 的帮助信息
composer install -h

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

如果您想要更新依赖项版本,或者修改 .json 文件中的依赖项并想要执行 .json 文件中定义的更新操作,请使用该命令。

composer update

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

如果在 .json 文件中添加或更改依赖项,则将安装或更新修改后的依赖项。

composer require

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

composer require barryvdh/laravel-ide-helper

--dev 选项对应于-dev。 如果您的依赖包仅用于开发环境,建议添加 --dev 选项。

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

-

您可以使用 - 从现有包创建新项目。

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

该命令有几个常见用途:

您可以快速部署您的应用程序。

您可以查看任何资源包并为其开发补丁。

多人开发项目可以使用它来加速应用程序初始化。

# 安装 Laravel 项目
composer create-project --prefer-dist laravel/laravel blog 5.5.*

如果不指定版本号,则默认安装最新版本。

---dist:当软件包可用时从 dist 安装。

集成环境安装失败

错误信息:

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.安装需要打开扩展,默认关闭

2、将php目录下的.dll、.dll以及php/ext文件夹下的.dll复制到\​​文件夹下。

3.不需要CA证书

CA证书下载地址:

选择后,右键单击并选择另存为

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

4.然后修改php.ini文件

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

5.重启即可

错误信息:

failed to open stream: HTTP request failed!

1、检查php的curl扩展是否启用

2. 检查这两个配置是否启用。

allow_url_fopen = On
user_agent="PHP"

也可以这样配置=“/4.0(;MSIE 6.0;NT 5.0)”)

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

3.打开后,重启并重启

PS:。 配置选项仅受 PHP 5.6.0 以上版本支持。

以上就是文章的全部内容。 有学习和经验交流的可以添加PHP自学中心。 共同学习、交流、进步!

让学习成为一种习惯

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON