我的 wiki 上有2个特殊页面:
SpecialOne.php
SpecialTwo.php
在我的第一页(wfSpecialOne()
)的主要功能中,我想使用第二页Specialpage (X(), Y())
中的函数。但是调试器说方法未知。
(现在)static function X()
调用function A()
<{1}} SpecialTwo.php
时的相同问题
到目前为止我做了什么:
include_once("SpecialTwo.php");
class SpecialOne extends SpecialPage {
public function __construct() {
parent::__construct( 'One' );
}
public function execute( $sub ) {
$out = $this->getOutput();
$this->wfSpecialOne();
}
function wfSpeicalOne(){
$var1 = X();
$var2 = Y();
}
}
我的第一个想法是完成所有功能static
。但如果是这样的话,我必须将每个类中的函数调用重构为:
SpecialTwo::X();
SpecialTwo::Y():
难道有更好的方法吗?还是我错过了什么?
答案 0 :(得分:0)
当SpecialTwo.php也扩展SpecialPage时,SpecialOne可以扩展SpecialTwo。
答案 1 :(得分:0)
你应该重构你的代码,使得多个特殊页面所需的任何东西都在某种实用程序类中。特殊页面不应该互相引用(我不会说它永远不会发生,但它是反模式)。
不相关的,你永远不需要include
和类似的命令。如果这样做,您可能没有运行maintenance/generateLocalAutoload.php
。