首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cakephp最佳实践

Cakephp最佳实践
EN

Stack Overflow用户
提问于 2013-10-17 05:18:39
回答 2查看 985关注 0票数 0

我有一个关于CakePHP最佳实践的问题!

让我们想象一下下面的情况:

在接收模型中,我有这样的代码:

代码语言:javascript
复制
public function beforeValidate()
    {
        $this->data[$this->name]["client_id"] = CakeSession::read("Auth.User.id");
        $this->data[$this->name]["date"] = date('Y-m-d H:i:s');

        $receipt    = $this->data[$this->name]["receipt"];
        $cod_filial     = substr($receipt, 0, 3);
        $qtdade_cupom   = substr($receipt, 12, 2);
        $tipo_pagamento = substr($receipt, 14, 1);

        $this->data[$this->name]["cod"] = $cod_filial;
        $this->data[$this->name]["quantity"] = $qtdade_cupom;
        $this->data[$this->name]["payment_type"] = $tipo_pagamento;
        $this->data[$this->name]["is_valid"] = null;


        return true;
    }

我必须用变量$qtdade_cupom,$cod_filial做很多验证,比如检查有效数字。

我在哪里做数学??

我在模型中创建了一个方法,如下所示

代码语言:javascript
复制
public function checkDigits()

我创造了一个行为来做这件事?

其他解决方案??

EN

回答 2

Stack Overflow用户

发布于 2013-10-17 05:36:45

答案很简单:取决于你需要什么。

如果这个数学模型被多个模型使用(不仅仅是这个模型),那么使用一个行为。

如果它仅由这个特定的模型使用,则将其作为模型方法保留在内部。

如果数学运算涉及许多其他工具和类,最好将此数学运算提取到/Lib中可测试的库中。

但正如我所说的,这取决于它到底是什么需要和使用。

票数 1
EN

Stack Overflow用户

发布于 2013-10-17 08:20:37

CakePHP内置了模型验证功能。

您还可以定义自定义验证方法。

更多信息:http://book.cakephp.org/2.0/en/models/data-validation.html#custom-validation-rules

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19414081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档