【问题标题】:What is the correct practice to incorporate models?合并模型的正确做法是什么?
【发布时间】:2010-01-22 23:05:25
【问题描述】:

我试图简化将数据插入数据库的过程,因此我构建了一个模型来处理变量提取和数据插入。

我理解这个模型体现了一个函数,然后你调用这个函数(比如/controller/model),通过模型传递相关数据进行处理。但是,我不确定如何合并模型,如何调用它,或者需要编写什么以便我可以调用该函数。我正在使用 CodeIgniter。

这是上述模型:

class Createproject extends ActiveRecord {

function __insert() // This function will handle inserting the relevant project information into the database.
    {

        $this->project_name = $this->input->get_post('project_name');

        // ... skipping ~30 variable definitions ...

        $this->db->insert('project_details', $this);
    }

所以我从这里开始感到困惑;您将此模型放在哪里进行处理,您将如何在控制器或应用程序的其余部分使用它?

谢谢!

【问题讨论】:

    标签: php codeigniter models controllers


    【解决方案1】:

    您可以将其导入 (require_once) 到您的控制器中(将其保存到 models.php 中),然后在您的控制器中实例化它:

    $cp = new Createproject()
    $cp->__insert()
    

    【讨论】:

    • 你没有声明变量是有原因的吗?例如,与 $cp 不同。
    • 除此之外,我通常会创建一个包含我所有的包含、MVC 类等的单个文件,然后全局包含该文件。这样一来,您就可以将所有包含在一个地方,并且更易于管理。
    • @danbirlem 哎呀,我是一名 Python 程序员,所以我总是忘记其他语言中的类似内容。我现在修好了。像这样的语义错误真的会让一个偶然发现的新程序员感到困惑。
    • @Jeremy Morgan 你应该试试 Python。你不只是到处都是名字(即,将一个变量设置得很高,它只是在你的代码中到处乱跑)。相反,您有命名空间。输入“import somefile”,它会将该文件作为一个名为“somefile”的变量导入到您调用“import”的文件中。然后,假设“somefile”有一个名为“name”的变量。在您调用“import somefile”的文件中,您现在可以说“somefile.name”,它包含另一个文件的 name 变量的值(这是我认为向 PHP 开发人员描述它的最佳方式)。跨度>
    • 感谢您的建议,我从未真正 100% 深入研究过 python,只是用它来解决一些一次性问题并继续前进。我对它印象深刻,我非常喜欢命名空间方法。感谢您的评论,并且可以看到这种类型的开发将如何非常有用。我可能得回去再看看python。
    猜你喜欢
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多