我有3件文件
1. a.php
<?
class a {
public function name () {
return "My name is ukungzulfah";
}
}
?>
2. b.php
<?
class b extends a {
function na () {
echo $ this-> name ();
}
}
?>
3.c.php
<?
include "a.php";
include "b.php";
$ te = new b;
echo $ te:: na ();
?>
结果是错误: 致命错误:在第4行的C:\ xampp \ htdocs \ sampleNetbeans \ controller \ welcome.php中的对象上下文中使用$ this Pls note。
上面的代码有问题吗?如果从b.php调用没有问题,只有在通过c.php文件调用时才会出现问题。
答案 0 :(得分:4)
当您需要使用实例语法($object::method()
)时,您正在使用静态语法($object->method()
)。
尝试使用echo $te->na();
代替echo $te::na();
。
这是我在你粘贴的代码中看到的唯一问题,除了异常的空格($ te
和$ te:: na ()
),这实际上会导致编译器错误。