StartMVC开发手册

可以快速上手的开发文档

模型

模型(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法,负责项目中的“数据+ 业务逻辑”. 模型是独立于控制器和视图。通过模型可以避免代码重复以及易于扩展。模型不是必需的,可以根据自己的业务逻辑进行使用。

定义模型

模型存放在模块下的Model目录下,模型为一个类,一个模型类就是一个php文件。

模型类名为:模型名称Model(首字母大写)。

模型文件名为:模型名称Model.php(首字母大写)。

命名空间为:App\模块\Model(单模块为:App\Model,所有首字母大写)。

所有控模型都继承于Startmvc\Core\Model。

// app/Home/Model/TestModel.php
namespace App\Home\Model;
use Startmvc\Core\Model;
class TestModel extends Model{
    function say(){
        echo 'hi';
    }
}

调用模型

在控制器、模型和视图中,可以使用$this->model()方法来实例化一个模型,或者在控制器中通过依赖注入实例化一个模型。

// 通过方法载入模型

namespace App\Home\Controller;
use Startmvc\Core\Controller;
class IndexController extends Controller {
  function indexAction(){
      $test = $this->model('Test');
      $test = $this->model('Test', 'Home');
      // $this->model()的第二个参数是模块名,可以实现跨模块共享模型
      $test->say();
      // 或者
      $this->model('Test')->say();
      //如果一个模型实例只用一次,可以用链式操作
  }
}

更新时间:2019-11-21 12:37:20