我有以下,例如:有没有一种方法来重写模型属性,而不用Kohana再次定义它们?
class Model_User extends ORM {
protected $_rules = array(
'username' => array(
'not_empty' => NULL,
'min_length' => array(6),
'max_length' => array(250),
'regex' => array('/^[-\pL\[email protected]]++$/uD'),
),
'password' => array(
'not_empty' => NULL,
'min_length' => array(5),
'max_length' => array(30),
),
'password_confirm' => array(
'matches' => array('password'),
),
);
}
class Model_UserAdmin extends Model_User {
protected $_rules = array(
'username' => array(
'not_empty' => NULL,
'min_length' => array(6),
'max_length' => array(250),
'regex' => array('/^[-\pL\[email protected]]++$/uD'),
),
'password' => array(
'not_empty' => NULL,
'min_length' => array(5),
'max_length' => array(42),
),
);
}
在这里,Model_UserAdmin
延伸Model_User
并覆盖最大长度为密码并删除password_confirm
验证(这不是一个实际的情况下,但一个例子)。
有没有更好的方法,而不是重新定义整个$_rules
属性/数组?
我想这将是这样:(希望的Kohana有东西给本已模特属性设置默认值。 – 2010-10-04 22:10:48