刚刚用yii来进行开发, 对safe attributes有点疑问:
- 是否在验证rules里面对某个attributes定义了多个场景的验证规则, 该attribute就是safe的了?
2)在model里面有定义safe attribues array的地方, 这个可否认为是为无验证规则的attribue的重新定义为safe的地方? 因为如果上面那条已经成立, 这里已经没有必要再重复定义, 难道是为了代码可读性考虑?
3)我在阅读yiiblognew的代码时, 看了其在注册的action里面, 在验证之后,model save之前, 调用了$model->password=md5($model->password); 我也在我的代码中如法炮制, 但是model save却出错,但是我在beforeSave里面做, model save成功. 这个是否说明safe attribue在某种场合(这里是注册的action, 并且pasword在注册和登录的场景下都有验证rule,所以应该是safe的attribute)下不能用内部值进行赋值, 而在beforeSave的时候却是可以的, 或句话说, 在某个场合下是会检查是用户输入的值还是内部产生的值? 如果有这个场合的约束, 那这个场合是什么?
刚刚用yii,如果有理解不对的地方, 也请大家指出, 谢谢!