php static array variables
我目前有以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 |
我想知道是否可以引用第一个静态验证数组,只需添加额外的一个验证规则,而不必像我目前所做的那样重写整个规则。
我知道您不能引用静态声明中的任何变量,但是我想知道是否有更好的方法可以将模型验证规则存储在模型中。
您可以使用数组合并来组合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class User extends Eloquent { public static $validate = array( 'first_name'=>'required', 'last_name'=>'required', 'email'=>'required|email' ); public static $validateCreate = array( 'password'=>'required|min:6' ); public static function initValidation() { User::$validateCreate = array_merge(User::$validate,User::$validateCreate); } } User::initValidation(); |
例如,您可以在需要时直接在静态数组中添加额外的字段。
1 2 3 4 5 6 7 8 | function validate() { if($userIsToBeCreated) { static::$validate['password'] = 'password'=>'required|min:6'; } // stuff here } |