2 Star 0 Fork 0

狂奔的蜗牛. / soter-docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
model.html 6.11 KB
一键复制 编辑 原始数据 按行查看 历史
arraykeys 提交于 2017-07-19 11:41 . No commit message
<!DOCTYPE html>
<html>
<head>
<title>Model模型层</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/inc.js"></script>
</head>
<body>
<fieldset>
<legend>Model模型层</legend>
<ol>
<li>
<h2 class="title_h2">Model模型层规范</h2>
Model类文件都放在<code>application/classes/Model</code>文件夹里面
<br>Model必须要继承<code>Soter_Model</code>类,类名必须带<code>Model_</code>前缀。
<br>示例如下:
<br>1.新建Model文件application/classes/Model/TestModel.php
<br>2.输入以下代码:
<pre class="brush:php">
&lt;?php
class Model_TestModel extends Soter_Model {
}
</pre>
</li>
<li>
<h2 class="title_h2">使用Model层</h2>
可以在任意地方使用下面的代码加载一个Model层类:
<br>示例如下:
<pre class="brush:php">
Sr::model('TestModel');
</pre>
我们可以看到上面有一个参数,这个是什么意思呢,是加载Model类的时候,不需要前缀<code>Model_</code>
<br>比如上面的:Model_TestModel,加载的时候只用Sr::model('TestModel');
<br>例如:我们要创建Model类文件名为ArticleModel.php,类名就是Model_ArticleModel,那么参数就要输入ArticleModel
</li>
<li>
<h2 class="title_h2">示例一</h2>
比如有文件:classes/Model/ArticleUser.php
<br>那么ArticleUser.php文件里面的类名就应该是:Model_ArticleUser。
<br>那么要加载Model类如下:
<pre class="brush:php">
Sr::model('ArticleUser');
</pre>
</li>
<li>
<h2 class="title_h2">示例二</h2>
比如有文件:classes/Model/User/Message.php
<br>那么Message.php文件里面的类名就应该是:Model_User_Message,也就是下划线代表着文件夹的分隔符。
<br>那么要加载Model类如下:
<pre class="brush:php">
Sr::model('User_Message');
//还有另一种方式例如以下
Sr::model('User/Message.php');
//我们也可以不用带.php后缀,例如以下:
Sr::model('User/Message');
</pre>
<li>
<h2 class="title_h2">创建自己的Model类</h2>
下面我们自定义一个加载Model层类
<br>1.新建Model文件application/classes/Model/TestModel.php
<br>2.输入以下代码:
<pre class="brush:php">
&lt;?php
class Model_TestModel extends Soter_Model {
public function hello(){
return 'hello model';
}
}
</pre>
3.新建控制器文件application/classes/Controller/Welcome.php
<br>4.输入以下代码:
<pre class="brush:php">
&lt;?php
class Controller_Welcome extends Soter_Controller {
public function do_model() {
$model = Sr::model('TestModel');
echo $model->hello();
}
}
</pre>
5.浏览器访问:http://127.0.0.1/index.php/Welcome/model.do
<br>//将输出:hello model
<br>为什么会输出“<b>hello model</b>”?
<br>我们可以从上面例子看Controller_Welcome控制器类,
<br>在do_model方法里面做了加载Model层中的Model_TestModel类赋值给<b>$model</b>
<br>然后通过<b>$model</b>输出Model_TestModel类中的hello方法,
<br>所以浏览器才会显示“<b>hello model</b>”。
</li>
</ol>
</fieldset>
<script src="js/inc.foot.js"></script>
</body>
</html>
1
https://gitee.com/snail/soter-docs.git
git@gitee.com:snail/soter-docs.git
snail
soter-docs
soter-docs
master

搜索帮助