时代在进步,人类在繁衍。我们应该摒弃旧思想,哈哈,主要是上个项目还是用的嵌套标签的方法 ,导致不能多端同步。虽然刚开始会很简单,如果想把现有的项目变成app ,那是太煎熬了。所以,一起学习吧
1.避免返回字段中有敏感信息
yii\base\Model::fields() 默认返回模型的所有属性作为字段, yii\db\ActiveRecord::fields() 只返回和数据表关联的属性作为字段。
可覆盖 fields()
方法来增加、删除、重命名、重定义字段, fields()
的返回值应为数组,数组的键为字段名 数组的值为对应的字段定义,可为属性名或返回对应的字段值的匿名函数, 特殊情况下,如果字段名和属性名相同, 可省略数组的键
这个的意思是要在Model中重写fields,比如有Member.php,放在model中即可。
public function fields(){
$fields = parent::fields();
// 删除一些包含敏感信息的字段
unset($fields['auth_key'], $fields['password_hash'], $fields['password_reset_token']);
return $fields;
}