每个人说的不是一个子方法,但它是在我的班级Paginate
中的另一个方法中调用的方法。
当我尝试运行时:
public function paginate() {
// Other stuff here
for ($i = $pageMin; (($i <= $pageMax) && ($i <= $this->arrayLength)); $i++) {
$this->build(); // The important bit!
}
// Other stuff here
}
public function build() {
echo $array[$i]['name'];
}
我在$i is undefined
方法调用echo的行上被告知build()
。为什么是这样?在另一个内部调用的方法是否不从父方法继承变量?从$i
的角度来看,build()
是否相对全球化?
我该如何解决这个问题?我在$i
内调用时,是否必须将build()
作为参数传递给paginate()
?这看起来并不完全干净。替代?
答案 0 :(得分:1)
它们的范围不同。
你必须用参数传递它。
$this->build($i);
-
public function build($i) {
echo $array[$i]['name'];
}