我已经设置了一个包含一些函数的类。我已将一个单独的php文件包含在主文件中。我设置了一些公共功能,所有功能都正常。我只是去添加一个新的,它抛出一个错误,我无法弄清楚为什么。
if(!class_exists("classBase"))
{
class classBase
{
public function printName()
{
$name = 'Test Name!';
return $name;
}
}
}
我是我的单独文件,我正在尝试调用此函数,因为我是文件中的所有其他函数。
<?php $this->printName(); ?>
我尝试在包含文件之前和之后声明函数,但无论出于何种原因,这都会引发错误:
Fatal error: Call to undefined method classBase::printName()
我甚至尝试复制一个工作函数,在函数名中附加一个数字,并调用该新函数。但仍然抛出错误。我很困惑为什么它不起作用。
答案 0 :(得分:3)
您需要初始化该类的实例。在您的示例中:
if(!class_exists("classBase"))
{
class classBase
{
public function printName()
{
$name = 'Test Name!';
return $name;
}
}
}
$myInstance = new classBase();
$myInstance->printName();
答案 1 :(得分:0)
Face Palm
这该死的尴尬......
我设置了两个localhost测试站点。我正在编辑我未测试的网站上的类文件,并将该函数的调用添加到我正在测试的网站中。因此它抛出错误并且它是正确的,该方法从未被定义。
花了45分钟想知道我做错了什么......
显然我需要离开电脑去吃午饭。