Klassenwerte vor Instanzierung ändern?

firstlord18

Erfahrenes Mitglied
Hi,

ist es möglich, die Attribute einer Klasse zu verändern, ohne dass diese Instanziiert wurde?

Sprich anstatt:

PHP:
class foo
{
  var $foo;
  var $bla = array(1, 2, 3);
}
$fo = new foo();
$fo->bla = 5;
echo $fo->bla; // gibt 5 aus

irgendwie sowas:

PHP:
class foo
{
  var $foo;
  var $bla = array(1, 2, 3);
}
foo::$bla = 5;
$fo = new foo();
echo $fo->bla; // gibt 5 aus

Danke im voraus!
 
Wüsste ich spontan nicht, aber du könntest doch einfach bei der Instanzierung den Wert mitübergeben und dann per __constructor ändern.

PHP:
class foo {
  function __foo($bar) {
    $this->bar = $bar;
  }
}

$foobar = new foo('5');
 
Soweit ich weiß, gibt es das Schlüsselwort static, welches eine Variable statisch macht, also für jede Instanz gleich ist.
Die Variable könnte dann zwar auch von den Instanzen verändert werden, aber wenn er verändert wird, wird er auch bei allen anderen Instanzen geändert.
Ich hoffe mal das stimmt so, ich hab das nämlich noch nie gemacht. :rolleyes:
 
Ich denk nicht, dass das moeglich ist.
Aber vielleicht kannst Du ja versuchen uns zu erklaeren warum das vor der Instanziierung stattfinden sollte, vielleicht koennen wir dann einen Weg finden es auf "normalem Wege" zu regeln.
 
Stimmt, geht eher nicht. Habe es über einen anderen Weg gelöst, und zwar über einen kleinen Workaround, der erst nach der Instanzierung die Werte ändert.

Danke an alle!!
 
Zurück