相关疑难解决方法(0)

重新定义类方法或类

有没有办法在不使用典型继承的情况下重新定义类或其某些方法?例如:

class third_party_library {
    function buggy_function() {
        return 'bad result';
    }
    function other_functions(){
        return 'blah';
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能取代buggy_function()?显然这就是我想做的

class third_party_library redefines third_party_library{
    function buggy_function() {
        return 'good result';
    }
    function other_functions(){
        return 'blah';
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的两难:我更新了破坏我代码的第三方库.我不想直接修改库,因为将来的更新可能会再次破坏代码.我正在寻找一种无缝的方法来替换类方法.

我发现这个图书馆说它可以做到,但我很谨慎,因为它已经4岁了.

编辑:

我应该澄清一下,由于框架限制,我无法将类重命名third_party_librarymagical_third_party_library或其他任何内容.

为了我的目的,是否可以只在类中添加一个函数?我认为你可以用C#做​​一个叫做"部分类"的东西.

php methods class redefine

47
推荐指数
6
解决办法
6万
查看次数

标签 统计

class ×1

methods ×1

php ×1

redefine ×1