【PHP】php手动加载vendor第三方库
CrazyPanda发表于:2024-03-01 16:25:37浏览:355次
方式一:手动配置autoload文件
方式二:在composer.json 中 调整 autoload
场景
不知道做php开发的小伙伴有没有遇到这样的痛点:使用第三方框架时安装的依赖包,你接手时候执行 composer update/insetall
时候总是超时或者安装时候总是报某个依赖包于其冲突。导致浪费大量时间去调整,最终无功而返。
场景复现:
我在一个旧的项目包上,想下载一个依赖包,执行安装时,总是包版本和现在不兼容或者一些依赖的问题。切换了镜像也是如此,所以考虑不如手动安装来的快~
方案
只需要手动调整自动加载配置即可。
实现
方式一:手动配置autoload文件
第一步:将下载的依赖包放到vendor目录下
放到vendor下的随便位置,你开心就好
第二步:修改 autoload_psr4.php
文件
文件位置位于:vendor/composer/autoload_psr4.php

将自己的依赖包填写上去,如下:
假设加载的命名空间为:yii\layui\ ,那么将其配置指向的目录文件,$vendorDir 是vendor 目录地址。

第三步:修改autoload_static.php
文件,添加依赖包信息配置
文件位置位于:vendor/composer/autoload_static.php

找到变量:$prefixLengthsPsr4
将上一步手动添加的依赖包命名空间首字母,如:yii/layui
首字母为Y,放到 Y 数组内,如下:
如果没有,就造出来一个字母变量,包含在里面即可,命名空间尾部为:”// “结尾,写法:命名空间 => 重权整型

第四步:找到 文件映射目录数组变量:$prefixDirsPsr4
配置映射目录:
写法:命名空间 => 映射目录数组

修改完以上就可以加载了,在项目中使用 yii/layui/xxxx
即可.
方式二:在composer.json 中 调整 autoload
这个方法我没成功过,不知道是不是我配置有问题,未去深究。你们可以试试。
第一步:配置autoload
// 位置 ~/project/composer.json
"autoload": {
// 需要引入包的位置
"psr4":[
"yii\\layui\\" => "src\"
]
},
第二步:更新类自动加载
进入项目目录下执行
composer dump-autoload -o
原文链接https://zhuanlan.zhihu.com/p/597646734?utm_id=0
猜你喜欢
- 【PHP】tp使用lunar-php,获取节日节气
- lunar-php 是一个用于获取公历和农历(即阳历和阴历)信息的 PHP 库。要使用 lunar-php 获取节日和节气,你需要先安装这个库。 首先,通过 Composer 安装 lunar-php:composer require chenmingl/lunar-php获取阳历阴历节日及节气:require 'vendor/autoload.php'; use Lunar\Lunar; //&nbs
- 【PHP】生成二维码海报
- 目录1.版本2.安装扩展3.生成海报4.代码解释5.附一个字体文件 6.参考文档1.版本php:7.2+ ,本示例使用的是7.3endroid/qr-code :4.* ,本示例使用的是4.3intervention/image:2.* ,本示例使用的是2.7使用前检查下是否启用了 gd2 扩展2.安装扩展composer require endroid/qr-codecomposer require intervention/image3.生成海报<? php &nb
- 【PHP】构建一个在线视频网站
- PHP是一种广泛应用的开发语言,被用于构建许多各种类型的网站和应用程序。在本文中,将介绍使用PHP开发一个在线视频网站的流程。第一步:需求分析在开始开发之前,首先需要进行需求分析。这包括确定网站的主要功能和特性,例如用户注册、视频上传、视频播放等。还需要确定网站的目标用户和受众群体,以及预期的规模和流量。通过深入了解需求,可以为后续的开发工作提供指导。第二步:数据库设计在构建一个在线视频网站时,一个关键的步骤是设计数据库。数据库将存储用户信息、视频信息、评论、标签等相关数据。需要确定表
- 【PHP】php代码规范七大原则
- hp代码规范七大原则包括一致性、可读性、简洁性、可复用性、可测试性、安全性和性能。详细介绍:1、一致性,代码应该保持一致性,即在整个代码库中使用相同的命名规范、缩进风格、代码注释等,这样可以使团队成员更容易理解和阅读代码,减少出错和混淆的可能性;2、可读性,代码应该易于阅读和理解,为了提高可读性,可以使用有意义的变量和函数命名,避免使用过于复杂的表达式和嵌套结构等等。本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。在PHP开发中,遵循良好的代码规范是非常重要
- 【PHP】PHP8中支持数组的新函数,让数组操作变得更加便捷
- PHP是一种常用的Web编程语言,已经成为了众多Web应用的首选开发语言。在PHP8中,新增了不少有用的函数和特性,其中一个十分值得关注的改变就是对数组操作的优化。PHP8中新增了许多针对数组的函数,使得开发者可以更易于编写高效的代码并减少代码中的常见错误。在本文中,我们将介绍PHP8中一些有用的数组函数,并展示如何使用它们来提高自己的PHP编程技能。array_is_list()函数array_is_list()函数用于检查一个数组是否是“列表数组”,即数组中的索引是否是从0开始、且连续递增的
- 【RabbitMQ】RabbitMQ五种消息模型
- RabbitMQ提供了五种消息模型,分别是基本消息模型、工作模型、Fanout订阅模型、Direct订阅模型和Topic订阅模型。这些模型在消息的发送、路由和消费方式上有所不同,适用于不同的应用场景。
- 【PHP】php函数find的用法
- 在php的开发中,有很多常用函数可以帮助我们快速完成一些操作,其中常用的一个函数是find函数。这个函数的作用是用于查找字符串中的特定字符或子字符串。本篇文章将详细介绍php函数find的用法。基本语法find函数的基本语法非常简单,只需要在字符串中调用该函数并传递要查找的字符或子字符串作为参数即可。例如:$string = "Hello World!"; $find = "W"; $result
- 【PHP】详解ThinkPHP5实现极验滑动验证码geetest功能
- 下面由thinkphp教程栏目给大家详解ThinkPHP5实现极验滑动验证码geetest功能,希望对需要的朋友有所帮助!ThinkPHP5实现极验滑动验证码geetest功能现在很多网站,比如淘宝,京东等都改用使用极验拖动验证码实现登录,这种方式比传统的验证码方式有更好的体验,减少用户输入的错误,也同样能起到防盗刷的功能。现在很多极验都是第三方的,也很多都是收费的。这里主要介绍thinkphp整合系列之极验滑动验证码geetest,官网:http://www.geetest.com具
栏目分类全部>