gpt4 book ai didi

php - 为什么这里有这个过滤器?它应该在 Controller 中吗?

转载 作者:搜寻专家 更新时间:2023-10-31 21:17:48 24 4
gpt4 key购买 nike

我看到了这段代码。我删除了一些不相关的代码以使其更简单(例如检查密码是否匹配的相同验证器)。

$password = new Zend_Form_Element_Password('password');
$password->addFilter(new My_Filters_Sha());

$password2 = new Zend_Form_Element_Password('password2');
$password2->addFilter(new My_Filters_Sha());

我的问题是关于过滤器的。我的猜测是,无论是谁写的,都将密码作为哈希值保存在数据库中,这就是他们使用过滤器对密码进行哈希处理的原因。但是让过滤器处理散列有什么意义呢?在创建帐户时,不应该在 Controller 中完成一次吗?收到输入后,将其处理为散列并保存。将此作为过滤器完成是否有意义?

最佳答案

Controller 的职责是处理请求并委托(delegate)给适当的模型。散列密码是业务逻辑。业务逻辑在 Controller 中没有位置,但属于模型。您的 Form 类是一个 Model 类,因此将过滤器放在那里是合适的。

关于php - 为什么这里有这个过滤器?它应该在 Controller 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com