首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Composer -特定PHP版本上的自动加载类

Composer -特定PHP版本上的自动加载类
EN

Stack Overflow用户
提问于 2018-08-08 17:19:06
回答 1查看 512关注 0票数 1

实际上,我们正在将PHP项目从PHP 5.3迁移到7.2。

我最近移植了很多库到Composer。

我有一个问题,用不支持PHP5.3的PhpSpreadSheet替换PHPExcel

我暂时将PHPExcel放在一个单独的文件夹中,并且我使用PHP_VERSION_ID来使用其中一个。

代码语言:javascript
复制
// early in the file to use another dependency
require_once 'vendor/autoload.php';
.
.
.
if (PHP_VERSION_ID > 50400) {
      $workbook = new PhpOffice\PhpSpreadsheet\Spreadsheet();
} else {
      require_once 'lib/PHPExcel/Classes/PHPExcel.php';
      $workbook = new PHPExcel();
}

目前,我们的代码必须在PHP 5.3和7.2下运行。

有没有办法告诉Composer自动加载器在PHP5.3下不自动加载PhpSpreadSheet

EN

回答 1

Stack Overflow用户

发布于 2018-08-23 04:04:38

有没有办法在PHP5.3下告诉Composer自动加载器不要自动加载PhpSpreadSheet

只要你没有被请求,Composer的自动加载器就不会加载任何类。所以告诉Composer不要加载指定的类的最简单的选择就是不使用它。:)

然而,从PHP 5.3迁移到7.2是一项艰巨的任务,试图使您的应用程序与这两个版本兼容可能真的很难。我建议将其视为在不同分支上开发的两个独立版本,需要不同的PHP版本。有两行代码,其中一行只关心PHP 5.3,第二行只关心PHP 7.2,这应该比修改一行代码来同时兼容PHP 5.3和7.2要容易得多。PHP 5.3是在2009年发布的--它比PHP 7.2早了大约7年,在这个时候,很多东西都发生了变化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51742956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档