Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter $this->;代码点火器4上的负载不工作_Codeigniter_Codeigniter 4 - Fatal编程技术网

Codeigniter $this->;代码点火器4上的负载不工作

Codeigniter $this->;代码点火器4上的负载不工作,codeigniter,codeigniter-4,Codeigniter,Codeigniter 4,如果与$this->load->view(…一起使用,则会出现错误,但如果使用echo view(。。。 错误是:在null上调用成员函数view() 如果我试图加载一个带有$this->load->model(…直接输出到带有回音视图(“”)的浏览器的模型,我会遇到同样的错误 如果您想获取视图,例如通过ajax发送,请使用返回视图(“”) 这在CI4中是新的,没有更多的$This->load->view(“”) 请注意,如果执行的最后一行是返回视图(“”),它仍然会传递到浏览器 所有这些都适用

如果与$this->load->view(…一起使用,则会出现错误,但如果使用echo view(。。。 错误是:在null上调用成员函数view()


如果我试图加载一个带有$this->load->model(…

直接输出到带有
回音视图(“”)的浏览器的模型,我会遇到同样的错误
如果您想获取视图,例如通过ajax发送,请使用
返回视图(“”)

这在CI4中是新的,没有更多的
$This->load->view(“”)

请注意,如果执行的最后一行是
返回视图(“”)
,它仍然会传递到浏览器

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

例如,如果您有一个模型位于App/Models下,则在控制器中或要加载它的位置,在开始时包括名称空间,即
使用App\Models\MyModel
,然后在您要使用的方法中创建一个新类,即

$myModel = new MyModel();
如果需要库帮助器的实例,例如模型中的db,请为模型执行以下构造函数:

protected mixed $db;
public function __construct(ConnectionInterface &$db)
{
    $this->db = &$db;
}
在基本控制器
initController
方法中

$this->db=\Config\Database::connect();

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

$myModel = new MyModel($this->db);
请注意,CI4中的
$this
并不是指超级对象,而是指控制器实例,即在
initController
中加载的任何内容都可以在
$this
中找到。在CI4中,默认情况下会加载多个帮助程序和库,例如
$this->request->getPost(“”)


请阅读文档,尤其是如果您习惯于使用CI3

CI 4.x,那么它不是CI 3.x,并且根本不兼容,因为它是一个完整的重写。有很棒的在线文档,请检查