您的当前位置:首页>全部文章>文章详情

【PHP】php手动加载vendor第三方库

CrazyPanda发表于:2024-03-01 16:25:37浏览:334次TAG:

方式一:手动配置autoload文件

方式二:在composer.json 中 调整 autoload

场景

不知道做php开发的小伙伴有没有遇到这样的痛点:使用第三方框架时安装的依赖包,你接手时候执行 composer update/insetall 时候总是超时或者安装时候总是报某个依赖包于其冲突。导致浪费大量时间去调整,最终无功而返。

场景复现:

我在一个旧的项目包上,想下载一个依赖包,执行安装时,总是包版本和现在不兼容或者一些依赖的问题。切换了镜像也是如此,所以考虑不如手动安装来的快~

方案

只需要手动调整自动加载配置即可。

实现

方式一:手动配置autoload文件

第一步:将下载的依赖包放到vendor目录下

放到vendor下的随便位置,你开心就好

第二步:修改 autoload_psr4.php 文件

文件位置位于:vendor/composer/autoload_psr4.php
v2-7de8a9beb97e05bdeca6973dfe95306d_720w.webp
autoload_psr4.php

将自己的依赖包填写上去,如下:

假设加载的命名空间为:yii\layui\ ,那么将其配置指向的目录文件,$vendorDir 是vendor 目录地址。
v2-7de8a9beb97e05bdeca6973dfe95306d_720w.webp
autoload_psr4.php

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

文件位置位于:vendor/composer/autoload_static.php
v2-7de8a9beb97e05bdeca6973dfe95306d_720w.webp
autoload_static.php

找到变量:$prefixLengthsPsr4 将上一步手动添加的依赖包命名空间首字母,如:yii/layui 首字母为Y,放到 Y 数组内,如下:

如果没有,就造出来一个字母变量,包含在里面即可,命名空间尾部为:”// “结尾,写法:命名空间 => 重权整型
v2-7de8a9beb97e05bdeca6973dfe95306d_720w.webp
$prefixLengthsPsr4 变量

第四步:找到 文件映射目录数组变量:$prefixDirsPsr4 配置映射目录:

写法:命名空间 => 映射目录数组
v2-7de8a9beb97e05bdeca6973dfe95306d_720w.webp
$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】php中标识符允许出现的符号有哪些
php中标识符允许出现的符号有字母、数字、下划线和中文字符。详细介绍:1、字母和数字,标识符可以由字母和数字组成,它们可以以字母开头,后面可以跟随任意数量的字母、数字或下划线;2、下划线,标识符可以包含下划线,但不能以下划线开头;3、中文字符,从PHP 7.2版本开始,允许在标识符中使用中文字符,$中文变量、function中文函数()等都是合法的标识符等等。本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。在PHP中,标识符是用来标识变量、函数、类、
发表于:2023-12-06 浏览:496 TAG:
【PHP】PHP获取毫秒值的五种方式
在PHP中,获取毫秒值可以通过以下几种方法实现: 1. 使用`microtime()`函数:    `microtime()`函数返回当前的Unix时间戳和微秒数。我们可以通过以下代码获取毫秒值:
发表于:2024-11-12 浏览:222 TAG: #php
【PHP】PHP8如何优化代码性能
PHP8的新特性和底层开发原理探索:如何优化代码性能随着互联网的迅猛发展和信息技术的不断更新,PHP作为一门重要的互联网开发语言也在不断演进。PHP8作为最新版本,带来了许多全新的特性和改进,同时也提供了更强大的底层开发能力。本文将探讨PHP8的新特性,并给出一些代码示例,展示如何优化代码性能。JIT编译器PHP8引入了Just-In-Time(即时编译)编译器。JIT编译器可以将PHP代码动态地编译成本地机器码,从而提高代码执行的效率。在PHP8中,JIT编译器默认是关闭的,需要手动启用。下面
发表于:2024-01-07 浏览:308 TAG:
【PHP】PHP设计模式大全与应用场景
面向对象编程的基本原则:1、单一职责:一个类,只需要做好一件事情。2、开放封闭:一个类,应该是可扩展的,而不可修改的。3、依赖倒置:一个类,不应该强依赖另外一个类。每个类对于另外一个类都是可替换的。4、配置化:尽可能的使用配置,而不是硬编码。5、面向接口编程:只需要关心接口,不需要关心实现。1、单例设计模式所谓单例模式,即在应用程序中最多只有该类的一个实例存在,一旦创建,就会一直存在于内存中!单例设计模式常应用于数据库类设计,采用单例模式,只连接一次数据库,防止打开多个数据库连接。一个单例类应具
发表于:2024-06-22 浏览:250 TAG: #php
【PHP】详解ThinkPHP5实现极验滑动验证码geetest功能
下面由thinkphp教程栏目给大家详解ThinkPHP5实现极验滑动验证码geetest功能,希望对需要的朋友有所帮助!ThinkPHP5实现极验滑动验证码geetest功能现在很多网站,比如淘宝,京东等都改用使用极验拖动验证码实现登录,这种方式比传统的验证码方式有更好的体验,减少用户输入的错误,也同样能起到防盗刷的功能。现在很多极验都是第三方的,也很多都是收费的。这里主要介绍thinkphp整合系列之极验滑动验证码geetest,官网:http://www.geetest.com具
发表于:2023-12-28 浏览:303 TAG:
【PHP】php生僻字处理方法
在日常的PHP编程中,我们难免会遇到一些中文生僻字,这些字虽然不常用,但在一些特定的场合下却是必须要用到的。下面我们就来探讨一下PHP处理生僻字的几种方法。一、使用Unicode编码Unicode是一种国际化字符集,它可以表示几乎所有的字符,包括中文生僻字。在PHP中,使用Unicode编码处理生僻字,一般需要使用PHP内置函数chr()和ord()。chr()函数chr()函数可以将一个Unicode码转换为对应的字符,其语法如下:string chr(int $
发表于:2023-12-29 浏览:362 TAG:
【PHP】PHP实现页面静态化的集中方法
这篇文章主要介绍了php 实现页面静态化的几种方法,需要的朋友可以参考下1、通过buffer来实现需要用file_put_contents ob_get_clean()等内置函数ob_start (); include "filterpost.html"; $mtime = filemtime("./filterpost.html"); //在这里可以判断文件是否存在和过期,然后做缓存或者生成静态文件操作 $page
发表于:2024-06-18 浏览:275 TAG:
【PHP】Laravel的生命周期面试
在Laravel框架中,生命周期(Lifecycle)指的是从请求到达应用到应用响应请求的一系列过程。这个过程包括了从路由解析到最终视图渲染或响应发送的一系列中间件、控制器逻辑和事件处理。理解Laravel的生命周期对于开发高质量、可维护的应用至关重要。下面是一些关键的环节和概念,可以帮助你准备Laravel生命周期的面试:
发表于:2025-03-20 浏览:44 TAG: #php #laravel
【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
发表于:2024-04-09 浏览:310 TAG:
【PHP】PHP防止XSS攻击的主流方法
概述跨站点脚本 (XSS) 是一种严重的安全漏洞,允许恶意行为者将恶意脚本引入网站,使毫无戒心的访问者处于危险之中。使用 XSS,攻击者可以在受害者的 Web 浏览器中执行任意代码,可能导致敏感数据被盗、未经授权的访问或网站污损。本文旨在深入探讨 XSS 攻击的主要形式,阐明其根本原因,探索 XSS 利用的潜在后果,并深入了解防止 PHP 中 XSS 攻击的有效措施。介绍当恶意行为者成功将有害脚本插入受信任的网站时,就会发生跨站脚本 (XSS) 攻击。这些受感染的网站在不知不
发表于:2024-07-14 浏览:234 TAG: #php