Kategorien
PHP

Klassenvariablen

PHP hat ein scheuß?iches Feature: Dynamik.

class Foobar {
/**
* @constructor
*/
  function Foobar($params) {
    foreach ($params as $key=>$val) {
      $this->$key= $val;
    }
  }
}

hiermit erzeugt man einfach mal beliebige Klassenvariablen. Man kann das auch gleich noch besonders toll machen und „magische“ getter und setter benutzen:

public function __set($var, $val){
  $this->$var = $val;
}

public function __get($var){
  if(isset($this->$var)){
    return $this->$var;
  } else {
    throw new Exception("Property ‘$var’ does not exist");
  }
}

Echt toll. Somit weiß man _nie_ welche Variablen ein Objekt zur Zeit hat. Tolle Sache.