Как добавить атрибут к объекту в PHP?
Ну, общий способ добавления произвольных свойств к объекту:
$object->attributename = value;
Вы можете, гораздо более чистые, заранее определить атрибуты в своем классе (PHP 5+ специфически, в PHP 4 вы бы использовали старое var $attributename
)
class baseclass { public $attributename; // can be set from outside private $attributename; // can be set only from within this specific class protected $attributename; // can be set only from within this class and // inherited classes
это настоятельно рекомендуется, так как вы также можете документировать свойства в своем определении класса.
Вы также можете определить методы getter и setter, которые вызываются, когда вы пытаетесь изменить свойство объекта.
Взгляните на документацию php.net: http://www.php.net/manual/en/language.oop5.properties.php
В этом случае атрибуты называются «свойствами» или «членами класса».
это статический класс, но тот же принцип будет и для интеллигентного. это позволяет хранить и извлекать все, что вы хотите от этого класса. и выдает ошибку, если вы пытаетесь получить что-то, что не установлено.
class Settings{ protected static $_values = array(); public static function write( $varName, $val ){ self::$_values[ $varName ] = $val; } public static function read( $varName ){ if( !isset( self::$_values[ $varName ] )){ throw new Exception( $varName . ' does not exist in Settings' ); } return self::$_values[ $varName ]; } }