我在单例类中有一个方法,这个类是从子类中调用的父类调用的。
假设我的类已被正确声明和创建,这只是我的编码逻辑的快速运行。
class Singleton
{
public function load_sys()
{
$this->something();
}
public function something()
{
$this->load();
}
public function load(){}
}
class Parent
{
public function __construct()
{
$this->sys = Singleton::init();
$this->sys->load_sys();
}
}
class Child extends Parent
{
public function __construct()
{
parent::__construct();
}
}
当我这样做时,我收到此错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4296 bytes) in ~~~.php on line 102
是什么导致了这个?
答案 0 :(得分:0)
我认为这可能不是因为调用方法两次而是代码中的一些错误。首先,你要用括号声明一个类:
class Singleton()
应该是:
class Singleton
此外,您将一个类声明为Parent
,这是PHP中的保留字,因此请先尝试重命名。