2017-01-22 150 views
-1

我在本地服务器上运行一个梨库。该库已经开发,使得子类中的静态方法非静态化。看看their documentation但是当我在本地服务器上运行库(使用PHP 5.4)时,它会产生致命错误。不能使静态方法非静态

我也写了一个非常简单的PHP程序来复制它,它会产生相同的错误信息。

class Test { 
    static function mytest($num) { 
     return $num + 10; 
    } 
} 


class childTest extends Test { 
    function mytest() { 
     echo Test::mytest(10); 
} 
} 

“致命错误:无法使静态方法测试:: mytest的()类childTest非静态”

有谁知道如何同时运行这些梨库解决这个错误,或者是因为使用的纯最新版本的PHP?

+1

为什么你需要使它非静态?在文档类中'DataObjects_Grp'是由库用户编写的,对吧? –

+0

@GermanLashevich:静态方法staticGet在子类中的非静态方法staticGet(同名)中调用,它在我的php编译器中创建胎儿错误。我已经提到了PHP版本。 – kta

+0

你可以编辑孩子班吗? –

回答

0

这样做:

class Test { 
    static function mytest($num) { 
     return $num + 10; 
    } 
} 


class childTest extends Test { 
    static function mytest() { 
     echo Test::mytest(10); 
    } 
} 

需要使用静态构造函数

+2

尽管此代码可能会回答问题,但提供有关如何解决问题和/或为何解决问题的其他上下文可以提高答案的长期价值。 –