Model模型层
  1. Model模型层规范

    Model类文件都放在application/classes/Model文件夹里面
    Model必须要继承Soter_Model类,类名必须带Model_前缀。
    示例如下:
    1.新建Model文件application/classes/Model/TestModel.php
    2.输入以下代码:
                                                    <?php
    
                                                    class Model_TestModel extends Soter_Model {
    
                                                    }
                                            
  2. 使用Model层

    可以在任意地方使用下面的代码加载一个Model层类:
    示例如下:
                                                    Sr::model('TestModel');
                                            
    我们可以看到上面有一个参数,这个是什么意思呢,是加载Model类的时候,不需要前缀Model_
    比如上面的:Model_TestModel,加载的时候只用Sr::model('TestModel');
    例如:我们要创建Model类文件名为ArticleModel.php,类名就是Model_ArticleModel,那么参数就要输入ArticleModel
  3. 示例一

    比如有文件:classes/Model/ArticleUser.php
    那么ArticleUser.php文件里面的类名就应该是:Model_ArticleUser。
    那么要加载Model类如下:
                                                    Sr::model('ArticleUser');
                                            
  4. 示例二

    比如有文件:classes/Model/User/Message.php
    那么Message.php文件里面的类名就应该是:Model_User_Message,也就是下划线代表着文件夹的分隔符。
    那么要加载Model类如下:
                                                    Sr::model('User_Message');
                                                    //还有另一种方式例如以下
                                                    Sr::model('User/Message.php');
                                                    //我们也可以不用带.php后缀,例如以下:
                                                    Sr::model('User/Message');
                                            
  5. 创建自己的Model类

    下面我们自定义一个加载Model层类
    1.新建Model文件application/classes/Model/TestModel.php
    2.输入以下代码:
                                                    <?php
    
                                                    class Model_TestModel extends Soter_Model {
    
                                                            public function hello(){
                                                                    return 'hello model';
                                                            }
                                                    }  
                                            
    3.新建控制器文件application/classes/Controller/Welcome.php
    4.输入以下代码:
                                                    <?php
    
                                                    class Controller_Welcome extends Soter_Controller {
    
                                                            public function do_model() {
                                                                    $model = Sr::model('TestModel');
                                                                    echo $model->hello();
                                                            }
                                                    }  
                                            
    5.浏览器访问:http://127.0.0.1/index.php/Welcome/model.do
    //将输出:hello model
    为什么会输出“hello model”?
    我们可以从上面例子看Controller_Welcome控制器类,
    在do_model方法里面做了加载Model层中的Model_TestModel类赋值给$model
    然后通过$model输出Model_TestModel类中的hello方法,
    所以浏览器才会显示“hello model”。