doumei1955 2018-09-15 05:01
浏览 144
已采纳

致命错误:未捕获错误:在动态变量命名空间中找不到类

I have this main controller:

namespace App\Core;
/**
* Controller class
*/

class Controller
{
    /** @var View View The view object */
    public $View;
    public $templates;
    /**
     * Construct the (base) controller. This happens when a real controller is constructed, like in
     */
    public function __construct()
    {

    }

    public function loadModel($name) {

        $path = '\\App\\Front\\Model\\'.$name; // Not Work

        //$this->model = new \App\Front\Model\IndexModel(); Work

        $this->model = new $path;

        return $this->model;

    }
}

In IndexController I have:

namespace App\Front\Controller;

use App\Front\Model\IndexModel;

class IndexController extends \App\Core\Controller {

    public function index(){
        $this->loadModel('IndexModel()')->test();
    }
}

Now in action I see error:

Fatal error: Uncaught Error: Class '\App\Front\Model\IndexModel()' not found in /Applications/MAMP/htdocs/mvc/application/Core/Controller.php:64

how do fix error?

  • 写回答

1条回答 默认 最新

  • dsdeeaquu38538545 2018-09-15 05:22
    关注

    You need to remove the () from the string:

    $this->loadModel('IndexModel')->test();
    

    It's not necessary to have () when creating a new instance without arguments. If you do want it anyway, or you want to pass some arguments, you need to add them after the variable on instantiation instead:

    new $path('someArgument');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题