我有这个主 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;
}
}
在 IndexController 我有:
namespace App\Front\Controller;
use App\Front\Model\IndexModel;
class IndexController extends \App\Core\Controller {
public function index(){
$this->loadModel('IndexModel()')->test();
}
}
现在在行动中我看到错误:
Fatal error: Uncaught Error: Class '\App\Front\Model\IndexModel()' not found in /Applications/MAMP/htdocs/mvc/application/Core/Controller.php:64
如何修复错误?
最佳答案
您需要删除 ()
从字符串:
$this->loadModel('IndexModel')->test();
没有必要
()
创建没有参数的新实例时。如果你确实想要它,或者你想传递一些参数,你需要在实例化的变量之后添加它们:new $path('someArgument');
关于php - fatal error : Uncaught Error: Class not found in dynamic variable namespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52341720/