使用模型
1.加载模型
在控制器和模型里面都可以通过$this->model($model_name,$alias_name)加载一个模型,其中$model_name是模型文件名(不含配置后缀)也就是类名,$alias_name是别名这个参数是可选的。
2. 模型加载支持子文件夹
比如模型目录下有个home文件夹里面有个News.model.php模型类文件,
那么就可以通过$this->model('home/News')加载这个模型类,
然后就可以通过$this->model->News访问这个模型类了。
3. 使用模型
加载完毕模型后,就可以通过$this->model->$model_name进行访问了。
如果指定了$alias_name那么就要通过$this->model->$alias_name进行访问。
比如:
加载User模型,$this->model('User','vip');
那么就可以通过$this->model->vip访问这个模型了。
另外,还可以通过$this->model->$model_name直接使用模型而不用提前加载。需要注意的是$model_name要和模型类名称一样,区分大小写,而且模型不能在模型子目录里面。
比如:
有模型 models/MUser.model.php,那么可以通过 $this->model->MUser直接使用。而不用先通过$this->model()加载。
如果MUser模型在子文件夹models/user/MUser.model.php那么这样就不能通过这种方式使用,
需要先通过$this->model('user/MUser')加载。
4.代码规范
模型类必须继承MpModel类,而且如果有构造方法那么构造方法里面必须先调用父类的构造方法。

示例如下:

<?php
class User extends MpModel {
    public function __construct() {
           parent::__construct();
        }
    public function sayHello($name) {
            $this->model('User2');
            $this->model->user2->sayHello('hello');
            echo 'hello:' . $name;
        }
}

4.和模型相关的系统配置

1.存放模型文件的文件夹路径名称,支持数组可以指定多个目录。比如:array($folder1_path,$folder2_path)

$system['model_folder'] = $system['application_folder'] . '/models';

2. 模型文件名称后缀,比如.model.php

$system['model_file_subfix'] = '.model.php';