使用echo view('')直接输出到浏览器
如果您想获取视图,例如通过 ajax 发送,请使用 return view('')
这是CI4中的新内容,没有更多$this->load->view('')
请注意,如果执行的最后一行是return view(''),它仍然会传递给浏览器。
所有这些都适用于模型和库。现在它更多的是面向对象而不是拥有一个超级对象。
例如,如果您有一个模型位于 App/Models 下、控制器中或您想要加载它的位置,请在开头包含命名空间,即use App\Models\MyModel,然后在您想要使用的方法中创建一个新类,即
$myModel = new MyModel();
如果您想要一个库助手的实例,例如模型中的数据库,请为您的模型执行此构造函数:
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('')
请阅读文档CI4 Documentation 特别是如果您习惯了 CI3