使用找不到名称空间返回值的变量名初始化类

时间:2019-05-13 08:17:51

标签: php

我下面有这段代码,

Loader.php

namespace Loader;

class Loader{
    public function load($name){

        $module_name = ucfirst($name);

        require_once(__DIR__.'/'.$module_name.'.php');

        return new $module_name;
    }
    public function parentFunction(){
       return get_class($this);
    }
}

$loader = new Loader;

Captcha.php

namespace Loader;

class Captcha extends Loader{
    public function callParentFunction(){
        var_dump($this->parentFunction());
    }
}

和test.php

require_once(__DIR__.'/Loader.php');


$loader->load('captcha')->callParentFunction();

如果我通过以下方式手动创建子类的实例

return new Captcha;

它可以工作,但是如果我可以

return new $module_name;

它抛出了这个错误,

  

致命错误:找不到类'Captcha'

有什么帮助,有想法吗?

0 个答案:

没有答案