thinkphp initialize怎么用
时间: 2023-08-12 18:07:58 浏览: 93
在 ThinkPHP 中,`initialize()` 方法也是一个魔术方法,它会在控制器被实例化时自动调用。一般情况下,我们可以在该方法中进行一些初始化操作,例如实例化对象、连接数据库等。这样,在控制器被实例化后,我们就可以直接使用相应的对象和方法了。
以下是一个使用 `initialize()` 方法的示例:
```php
<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
protected $user;
protected function initialize()
{
// 实例化 User 模型
$this->user = new \app\index\model\User;
}
public function index()
{
// 使用 $user 对象
$userList = $this->user->select();
// ...
}
}
```
在上面的代码中,我们在 `initialize()` 方法中实例化了一个 User 模型,并将其赋值给了 `$user` 属性。在 `index()` 方法中,我们就可以直接使用 `$user` 属性来操作 User 模型了。
需要注意的是,如果子类中定义了 `initialize()` 方法,则该方法会覆盖父类中的同名方法。同时,如果需要调用父类中的 `initialize()` 方法,可以使用 `parent::initialize()` 来实现。
阅读全文