QQ扫一扫联系
有两种方式修改字段的行为
① 通过继承 ModStart\Field\AbstractField
类,实现以下方法
class XxxField extends \ModStart\Field\AbstractField
{
// 字段值序列化
// 数据从存储系统(如数据库)读取出来,会调用此方法转换为字段 $value 值
public function unserializeValue($value, AbstractField $field)
{
return $value;
}
// 字段值序列化
// 数据提交到存储系统(如数据库)时,会调用此方法转换为存储值
public function serializeValue($value, $model)
{
return $value;
}
// 字段输入获取准备
// 数据从用户输入获后需要进行的处理,如转换、验证等,如果异常可以直接抛出 BizException 异常
public function prepareInput($value, $dataSubmitted)
{
return $value;
}
}
② 在使用时动态的修改方法的行为
// 字段值序列化
$field->hookValueUnserialize(function($value, AbstractField $field){
return $value;
})/
// 字段值序列化
$field->hookValueSerialize(function($value, $model){
return $value;
})