Как добавить атрибут объекта в PHP?
Добавить атрибут объекта в PHP
Ответ 1
Ну, общий способ добавления произвольных свойств к объекту:
$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, которые вызываются при каждом изменении свойства объекта.
Ответ 2
Взгляните на документацию php.net: http://www.php.net/manual/en/language.oop5.properties.php
В этом случае атрибуты называются "свойствами" или "членами класса".
Ответ 3
это статический класс, но тот же принцип будет и для интеллигентного. это позволяет хранить и извлекать все, что вы хотите от этого класса. и выдает ошибку, если вы пытаетесь получить что-то, что не установлено.
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 ];
}
}