【问题标题】:Structuring a model - MVC (PHP)构建模型 - MVC (PHP)
【发布时间】:2012-03-09 07:35:28
【问题描述】:

在与数据库打交道之前应该如何对数据进行结构验证、准备和整理(等)?

我希望传递的数据可能需要验证(例如:类别books 实际存在)或包含条件值(例如:仅当ad = sale 时才应设置销售价格)或以下值必须转换为 ids(例如:category books 必须转换为 category_id 123)。

我想有很多方法可以解决这个问题,例如将所有内容聚集在一起、按字段分组(每个字段一起进行验证、准备等)或按操作(验证、准备等)和字段分开。

在涉及到这个主题时,是否有任何概念,就像存在 MVC 的概念一样?实现灵活性、易于维护或类似的东西?

有什么关于模型常用组件的吗?

(我不确定它是否有帮助,但我目前正在使用 CodeIgniter / PHP)

【问题讨论】:

    标签: model-view-controller validation codeigniter model


    【解决方案1】:

    在 codeigniter 中,您可以将 Form_Validation 类与您创建的回调方法一起使用。 http://codeigniter.com/user_guide/libraries/form_validation.html#callbacks.

    在您的回调方法中,您可以检查数据库中是否存在事物等。

    【讨论】:

    • POST 数据将直接在模型中访问,不是吗?我认为我在使用 Form_validation 进行操作时也会遇到问题,因为在模型失败的情况下,重新填充表单时发布的值不会是原始值。 (例如:如果你修剪一个值并且 model->insert() 没有成功,你会得到类似 'string' 而不是 'string'
    • 发布数据进入控制器。如果您愿意,可以将其传递给模型。模型失败与重新填充表单字段有什么关系?在检查数据库中是否存在类别的情况下,只需进行检查,如果不存在,则返回 false 并使用提交的内容重新填充表单字段。您不必修改它。只需按照我建议的方式开始挖掘,并在遇到困难时再次发布。你想要完成的事情在 codeigniter 中非常容易。
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 2017-05-31
    • 2011-03-10
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多