$this->load 在代码点火器 4 上不起作用



如果与$this->一起使用,会出现错误;负载->view(…但如果我使用echo view(。。。错误是:在空上调用成员函数view((

如果我尝试加载带有$this->负载->型号(…

使用echo view('')直接输出到浏览器如果您想获得一个视图,例如通过ajax发送,请使用return view('')

这在CI4中是新的,没有更多的$this->load->view('')

请注意,如果执行的最后一行是return view(''),则它仍然传递给浏览器。

所有这些都适用于模型和库。现在它更多的是OO,而不是拥有一个超级对象。

例如,如果你有一个模型位于App/Models下,在控制器中或你想加载它的地方,在开始时包括名称空间,即use AppModelsMyModel,然后在你想使用的方法中只创建一个新的类,即

$myModel = new MyModel();

如果你想要一个库助手的实例,例如你模型中的数据库,那么为你的模型做这个构造函数:

protected mixed $db;
public function __construct(ConnectionInterface &$db)
{
$this->db = &$db;
}

在基本控制器initController方法中放入

$this->db = ConfigDatabase::connect();

现在,当您从扩展BaseController的控制器创建模型的实例时,请传递数据库实例:

$myModel = new MyModel($this->db);

请注意,CI4中的$this不是指超级对象,而是指控制器实例,即在initController中加载的任何内容都可以在$this中找到。CI4中有几个助手和库现在默认加载,例如$this->request->getPost('')

请阅读CI4文档,尤其是如果您习惯了CI3

相关内容

  • 没有找到相关文章

最新更新