[英]Cakephp Best Practices
我对CakePHP中的最佳实践有疑问!
让我们假设以下情况:
在收据模型中我有代码:
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进行大量验证,例如检查有效数字。
我在哪里做数学?
我在模型中创建了一个方法
public function checkDigits()
要么
我创建一个行为来做到这一点?
要么
其他方案??
答案很简单:取决于您的需求。
如果此数学由多个模型使用(不仅仅是针对此模型),请使用行为。
如果仅由此特定模型使用,请将其作为模型方法保留在其中。
如果数学涉及许多其他工具和类,最好将这个数学提取到/ Lib中可测试良好的库中。
但正如我所说,取决于它究竟需要和用于什么。
CakePHP内置了模型验证。
您还可以定义自定义验证方法。
更多信息: http : //book.cakephp.org/2.0/en/models/data-validation.html#custom-validation-rules
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.