[sid]
Новичок
Свойства в стиле C#
Еще одна идея использования средств Overloading PHP5. Реализация перегружаемых свойств (как в C#)
Не буду приводить сам класс, реализующий перегруз. Я думаю это и не надо. Там все элементарно.
Пример использования (Извините, пишу по памяти в блокноте, забыл исходники дома, но я думаю вы смысл поймете)
Еще одна идея использования средств Overloading PHP5. Реализация перегружаемых свойств (как в C#)
Не буду приводить сам класс, реализующий перегруз. Я думаю это и не надо. Там все элементарно.
Пример использования (Извините, пишу по памяти в блокноте, забыл исходники дома, но я думаю вы смысл поймете)
PHP:
class test extends property
{
protected $propertyName = 'Fred';
protected $propertyAge = 35;
public function __construct()
{
$this->registerProperty('name');
$this->registerProperty('age');
}
public function getName()
{
return $this->propertyName;
}
public function setAge($value)
{
if ( !is_integer($value) || $value <= 0 )
{
thrown new Exception("Invaid age");
}else{
return $this->propertyAge = $value;
}
}
public function getAge()
{
return $this->propertyAge;
}
}
$test = new test();
echo "Name is: {$test->name}\n";
echo "Age is: {$test->age}\n";
// Name is: Fred
// Age is: 35
// Ошибка. Свойства name только для чтения
$test->name = "Eric";
// Ошибка. Неверный возраст
$test->age = "five"
// Ок
$test->age = 13;
// Name is: Fred
// Age is: 13