0

我在单例类中有一个方法,这个类是从一个由子类扩展的父类调用的。

假设我的类已被正确声明和创建,这只是我的编码逻辑的快速运行。

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

是什么原因造成的?

4

1 回答 1

0

我认为这可能不是由于两次调用方法,而是代码中的一些错误。首先,您要声明一个带括号的类:

class Singleton()

应该:

class Singleton

此外,您正在声明一个类,Parent它是 PHP 中的保留字,因此请先尝试重命名它。

于 2012-04-08T07:19:29.377 回答