gpt4 book ai didi

php - 将命名空间添加到类而不修改文件

转载 作者:行者123 更新时间:2023-12-04 16:52:12 25 4
gpt4 key购买 nike

我有一个第 3 方类,我需要修改它的方法之一。
我不想对第 3 方进行任何更改,因此我对其进行了扩展。class NewClass extends ThirdPartyClass {}类名 ThirdPartyClass在我的代码和其他一些 3rd 方类中使用,所以我想保留那个类名。
对此的解决方案是向类添加命名空间。

namespace thirdparty;

class ThirdPartyClass {}
然后扩展它
class ThirdPartyClass extends \thirdparty\ThirdPartyClass
但就像我说的,我不想对第三方类进行任何修改。
这门课就这样被包括在内。
require_once('thirdparty/3rdpartyclass.php');
我已经尝试了以下
namespace thirdparty;
require_once('thirdparty/3rdpartyclass.php');

namespace thirdparty;
include_once('thirdparty/3rdpartyclass.php');
关于如何为我的新类(class)使用相同类(class)名称的任何建议?
编辑
这有效,但与使用 require_once 不同
eval('namespace thirdparty;?>' . file_get_contents('thirdparty/3rdpartyclass.php'));
这个问题与 PHP namespace removal / mapping and rewriting identifiers无关答案毫无帮助。

最佳答案

我找到了一个解决方案,但它没有实现 require_once

eval('namespace thirdparty;?>' . file_get_contents('thirdparty/3rdpartyclass.php'));

class ThirdPartyClass extends \thirdparty\ThirdPartyClass {


}

关于php - 将命名空间添加到类而不修改文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35920232/

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