limb3_2007_2:ru:packages:classkit:lmb_object
Содержание
lmbObject
lmbObject - это базовый класс, который используется для реализации объектов-хранилищ произвольных наборов данных. lmbObject поддерживает различные методы для манипуляции данными (добавление, объединение, очистка и т.д.), в том числе геттеры и сеттеры для любого поля (на самом деле атрибута класса), даже если этих методов нет (реализовано через перекрытие метода __call).
Пример использования класса lmbObject
$obj = new lmbObject(); $obj->my_data = 'Whatever'; echo $obj->getMyData(); // Выведет 'Whatever' $obj->setMyData('Something'); echo $obj->getMyData(); // Выведет 'Something' echo $obj->get('my_data'); // Выведет 'Something' $obj->remove('my_data'); echo $obj->getMyData(); // Выведет NULL
Список наиболее часто используемых методов
| Метод | Назначение |
|---|---|
| set($property, $value) | Устанавливает в поле (в аттрибут) $property значение $value |
| setXXX($value) | Устанавливает в поле $property, которое получается из части названия метода, значение $value. Часть названия метода после set переводится в under_scores, например setMyData - устанавливает значение в поле my_data. |
| get($property) | Получает значение поля $property. |
| getXXX() | Получает значение поля $property, которое получается из части назавния метода после get, например, getMyData возращает значение поля my_data. |
| hasAttribute($property) | Возвращает true, если объект имеет поле $property. |
| import($values) | Устанавливает значения полей исходя из содержимого ассоциативного массива $values |
| export() | Возвращает массив значений всех полей (аттрибутов) объекта. |
| remove($property) | Удаляет поле $property из объекта. |
| removeAll() | Удаляет все поля из объекта. |
Защищенные поля
Защищенными считаются поля, название которых начинается с префикса в виде нижнего подчеркивания «_». Обычно такие атрибуты содержатся в дочерних классах lmbObject. Защищенные поля не присутствуют в результатах метода export() и не устанавливаются при помощи геттеров и сеттеров.
Например:
class MyObject extends lmbObject { protected $_my_property = null; function setMyProperty($value){ $this->_my_propery = $value; } function getMyProperty(){ return $value; } } $obj = new MyObject(); $obj->setMyPropery('Something'); $obj->set('_my_property', 'Something'); $obj->setOtherPropery('Whatever'); $obj->export(); // Получим array('other_property' => 'Whatever');
limb3_2007_2/ru/packages/classkit/lmb_object.txt · Последнее изменение: 2010/11/10 10:02 — 127.0.0.1

Обсуждение