在Codeigniter中编写模型代码的最佳方法是什么

dev*_*v90 5 php codeigniter

关于在codeigniter中使用哪种技术来编写模型,我非常困惑.

我搜索了很多,发现了各种程序员使用的各种方法.请指导我使用codeigniter编写Model Class的最佳方法.

几个例子;

  • 有些在Method签名中使用长参数

     function insert_data($name, $address, $email, $....,$...,$..)
    
    Run Code Online (Sandbox Code Playgroud)

    其他人只需使用以下内容并在模型中写下所有帖子代码.

    function insert()
    { 
    $name= $this->input->post('var1');
    $name= $this->input->post('var1');
    $name= $this->input->post('var1');
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 有些为每个表创建不同的模型,而有些只写很少的模型..

    而且不同开发人员之间存在更多矛盾,我对使用哪种技术编写更高效的行业标准代码感到困惑.

    请指导我非常感谢

Cod*_*die 7

这是一个很好的问题.它可以追溯到Codeigniter的优点和缺点.因为你可以根据自己的意愿定制Codeitgniter(许多人过度使用),这些问题出现了,由开发人员来决定事物的属性.话虽如此,我将分享我如何使用模型.

根据Codeigniter的MVC标准:

模型代表您的数据结构.通常,模型类将包含帮助您检索,插入和更新数据库中信息的函数.

因此,模型应该只处理与数据库的通信,或者如果您不使用数据库,它应该处理从其他源(即json,文本文件等)的数据检索.

我推荐的是什么:

  • 保留控制器方法中的所有内部功能,包括您的所有$this->input->post()信息.获得所有post()信息后,创建必要的数组并将其传递给模型
  • 该模型应该接收数组(您在控制器中构建)并构建检索信息所需的数据库查询.

使用此结构,您可以从任何控制器重用这些模型方法,保持模块化结构.

希望这可以帮助.