gpt4 book ai didi

php - 共存 spl_autoload_register 和 composer autoload

转载 作者:搜寻专家 更新时间:2023-10-31 21:06:31 25 4
gpt4 key购买 nike

我有一个遗留应用程序,它使用 spl_autload 来加载类(它们没有命名空间)

<?php

spl_autoload_extensions('.class.php,.php');

set_include_path(
$listOfDir
);

spl_autoload_register();

// require composer autoloader
// can't place that line before the call spl_autoload_register without breaking everything.
require __DIR__ . "/../vendor/autoload.php";

我们最近引入了 composer 和 Symfony containerdependency-injectionconfig 组件。

我试图实现的是通过 composer 加载驼峰命名法类(所有新类都使用驼峰命名法来识别新代码与遗留代码)而不会导致 BC 中断。

您是否有关于如何让它工作的线索?新类必须有命名空间吗?

PS:新类(class)将分布在 “大量” 文件夹中。项目规模为700k LOC。

最佳答案

所以我所做的是将新类放入 src/ 文件夹,添加命名空间并在 composer.json 中添加 PSR-4

因为 spl_autoload 不适用于驼峰式类,所以我可以接受。 :-)

"autoload": {
"psr-4": {
"MyNamespace\\NotLegacy\\": "src/"
}
}

关于php - 共存 spl_autoload_register 和 composer autoload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31458450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com