CI的模型

2009/09/01  |  12:01 下午分类:CodeIgniter  |  409 views

  什么是模型层?很复杂,我也不是很明白,所以就不解释了,学究们可以GG一下!在这篇文章,咱就只说CI的模型层!
  记得发过一篇说CI的MVC的post,CI对MVC并没有强求,所以模型层可有可无!但是,它肯定有存在的必要性!我觉得可能的话,最好存在!毕竟,M+V+C才能无敌!嘿嘿~
  模型类文件存放在 application/models/ 文件夹。 如果你愿意,可以在里面建立子文件夹。最基本的模型类必须像这样:

class Model_name extends Model {

    function Model_name()
    {
        parent::Model();
    }
}

类名的首字母必须大写,其他字母小写。并且确保你的类继承了基本模型类(Base Model Class),文件名应该是模型类名的小写版。例如上面的模型应该保存为:
application/models/model_name.php

载入模型:$this->load->model(‘Model_name’);
如果模型文件在子文件夹下,引用的时候要带上相对路径名。例如:如果你有一个模型 application/models/blog/queries.php,那么你就要这么写:
$this->load->model(‘blog/queries’);

一旦模型被载入,就可以使用它:


$this->load->model('Model_name');

$this->Model_name->function(); 

//如果你想给你的model指派一个不同的对象名,可以在加载模型函数中指定第二个参数:

$this->load->model('Model_name', 'fubar');

$this->fubar->function(); 

如果您需要一个在整个项目中都起作用的特定模型,您可以让 CodeIgniter 在初始化时自动装载它。实现的方法是打开 application/config/autoload.php 文件,然后在自动装载数组中添加上这个模型。

当一个模型被载入时,它并不会自动连接数据库。以下方法可以使您连接数据库:

$this->load->model('Model_name', '', TRUE);
//第三个参数设置为TRUE来使模型装载函数自动连接数据库,连接配置可以在您的数据库配置文件中可以定义

也可以设定第三个参数来载入自定义的数据库配置:

$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = "mydatabase";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;

$this->load->model('Model_name', '', $config);
喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

12条评论 关于 “CI的模型”

  1. qiming 发表于: 九月 1st, 2009 3:07 下午

    可NB

    [回复]

    kazaff 回复:

    是吧~我也觉得~

    [回复]

    余潇冉 回复:

    我也觉得=_=。。。看来很有用的说~~

    [回复]

    kazaff 回复:

    很有用的说~~~~~说~~~~说~~

    [回复]

    余潇冉 回复:

    说。。。。。说。。。说。。。。。。。。

    [回复]

    kazaff 回复:

    回音~

    [回复]

  2. 卢松松 发表于: 九月 4th, 2009 4:58 下午

    这个我真不懂

    [回复]

    kazaff 回复:

    我也似懂非懂~~o(∩_∩)o…哈哈

    [回复]

  3. 余潇冉 发表于: 九月 9th, 2009 2:49 上午

    那就努力搞懂呗^_^

    [回复]

    kazaff 回复:

    努力ing

    [回复]

  4. wang4142 发表于: 九月 28th, 2009 4:14 下午

    大哥的 blog 很NB啊! 以后一定要常来!

    [回复]

    kazaff 回复:

    常来就对了~回头你弄好你的,我也去!

    [回复]


发表您的评论