主页 > 后端 > codeigniter >
来源:未知 时间:2015-04-22 09:58 作者:xxadmin 阅读:次
[导读] 大家新年好!不知不觉我们来到了2013年,军哥祝大家在新的一年里身体儿杠杠滴,吃嘛嘛香,新年新气象,财源滚滚~~ 今天我们来学习CI中的模型和辅助函数。 【本讲内容】 一、模型...
大家新年好!不知不觉我们来到了2013年,军哥祝大家在新的一年里身体儿杠杠滴,吃嘛嘛香,新年新气象,财源滚滚~~
今天我们来学习CI中的模型和辅助函数。 【本讲内容】 一、模型; 之前我们分别介绍了MVC模式中的C层和V层,而M层还没有谈到。现在我们来谈一谈。 了解什么是模型?如何创建一个简单的模型?怎样载入模型? 二、辅助函数。 当我们需要完成某些特定任务的时候,辅助函数将会派上用场啦。还记得军哥在第一讲中介绍CI能够为我们做什么的时候,讲到其中有一个好处是减少代码量,那CI的辅助函数就可以帮助我们做到这一点。 【具体内容】 1、模型。 (1)、什么是模型? 模型对于那些传统MVC方式的人来说是可选的。比如,我们之前讲的一些例子中就没有用到M层,那是由于我们暂时还没有涉及到与数据库的操作,一旦涉及到数据库操作,我们就要用M层了,因为模型(M)就是专门用来和数据库打交道的。 (2)、那怎么样创建一个模型呢? 其实模型就是一个PHP类,里面包含添加、删除、更新和统计数据等方法,我们来创建一个简单的看一下,代码如下:
此时我们需要注意以下几点: a、创建的模型类文件应该放在application/models/ 文件夹,文件名应该是模型类名的小写格式。例如上例当中的,文件名应该为user_model.php; b、类名的首字母必须大写,其他字母小写; c、确保你的类继承了基本模型类(CI_Model)。 那这样的模型文件建好了,该怎么用呢? (3)、载入模型。 我们写好的模型是通过控制器来载入和引用的。载入模型在CI中有两种方式: 一种是手动载入,假如我们想载入上面那个模型类,那它可以很容易的在控制器中的方法中装载,就像这样:
以上通常都放在控制器的构造函数中进行装载,毕竟这样只需要手动装载一次就够了。 另一种是自动载入,找到并打开 application/config/autoload.php 文件,然后在自动装载数组中加入这个模型,只要设置$autoload['model'] = array();为:
接下来军哥带大家写一个完整的例子,把之前讲的内容一起连贯起来,正好也复习一下。 由于我们会涉及到数据库操作,因此首先要进行数据库的配置,打开application/config/database.php文件,设置连接数据库的一些参数值,如下:
上面只是设置了其中一部分的参数,想了解更多你可以浏览CI中国的中文手册,http://codeigniter.org.cn/user_guide/database/configuration.html 。 然后我们开始建一个数据表,这里叫user表,表结构如下:
我们插入一条数据,如下:
接下来我们写一个用户模型,就起名为user_model.php,代码如下:
好,现了我们打开浏览器,输入http://localhost/ci_demo/index.php/user/index即可访问到用户列表啦!
亲,如果你没有出现错误的话,应该会出现下图所示的结果:
图片:97b82afbjw1e0gkya33j3j.jpg 2、辅助函数。 说起函数,这真不得不说函数是个好东西啊,它能够辅助我们解决很多复杂的问题,大家都知道,函数也是为了重用而发明的,能够减少我们的代码量,提高我们的编码效率,我们许多时候是离不开它的。而最关键的是CI本身就为我们提供了一系列的功能不同的辅助函数文件。军哥截了一张CI中国中文手册上的截图,如下图所示: 我们从图中可以看到CI为我们提供了多达21种辅助函数文件。像这其中就有用于处理数组操作的数组辅助函数文件(Array Helpers)、帮助你创建表单的表单辅助函数文件(Form Helpers)以及帮助我们创建链接的URL辅助函数文件(URL Helpers)等等。若这些还不能满足你的需求,你也可以很轻易的“扩展”这些函数文件或者使用自定义的函数文件。 辅助函数文件一般保存在 system/helpers 或 application/helpers 文件夹中。CI将会先在 application/helpers 寻找对应的辅助函数文件, 如果目录不存在或者目录下没有对应的辅助函数文件,CI 才会载入system/helpers下的辅助函数文件。 (1)、载入辅助函数。 CI 默认是没有载入辅助函数文件的,所以如果你想用辅助函数,就必须先载入它。 一旦被载入,辅助函数将全局可用,你可以在控制器和视图中使用它们。我们像这样载入辅助函数文件:
比方说,你想载入数组辅助函数文件,就像这样:
如果你想一次载入多个辅助函数,你可以这样做:
(2)、使用辅助函数。 比方说当载入一个URL辅助函数文件之后,我们就可以使用里面的某个函数了,像anchor(),它有三个可选参数:
第一个参数包含你想附加到URL上的一些参数; 第二个参数是你想链接的名字; 第三个参数包含一组你想附加给链接的属性。 举个例子看一下:
(3)、“扩展”辅助函数。 如果你想做的只是在原有的辅助函数文件中添加一些新的功能,比如,添加一两个新的方法,或者是修改一个方法;就不值得重写自己的辅助函数文件。在这种情况下,最好是“扩展”已有的辅助函数文件。 例如,军哥在写PHPer小站的搜素功能时,需要将搜索结果的二维数组重复值去掉(详情见:http://phpersite.sinaapp.com/index.php/jayjun/doc/start/2/cid/28/aid/62.html ),而原有的数组辅助函数文件中却没有函数能够做到,此时就要自定义一个函数来帮我们处理,也就是说"扩展"一个数组辅助函数文件,这时应该建立一个文件:application/helpers/MY_array_helper.php,将自定义的函数写进去即可在控制器中使用了。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com