Использование сеттеров в модели
class User extends ActiveRecord\Model {
static $setters = array('password','more','even_more');
# now to define the setter methods. Note you must
# prepend set_ to your method name:
function set_password($plaintext) {
$this->encrypted_password = md5($plaintext);
}
}
$user = new User();
$user->password = 'plaintext'; # will call $user->set_password('plaintext')
Создание сеттеров с тем же именем
class User extends ActiveRecord\Model {
static $setters = array('name');
# INCORRECT way to do it
# function set_name($name) {
# $this->name = strtoupper($name);
# }
function set_name($name) {
$this->assign_attribute('name',strtoupper($name));
}
}
$user = new User();
$user->name = 'bob';
echo $user->name; # => BOB
Источники:
- 1-2 - www.phpactiverecord.org