P port29 deus.Server 31. März 2008 #1 Hallo Leute, ich habe da mal eine Frage, wieso t das nicht? Code: class foo{ private $test="bla"; function getBla ($bla = $this->test) { } }
Hallo Leute, ich habe da mal eine Frage, wieso t das nicht? Code: class foo{ private $test="bla"; function getBla ($bla = $this->test) { } }
Gumbo Erfahrenes Mitglied 31. März 2008 #2 Nur skalare Werte können als initiale Werte vorgegeben werden. Und $this->test ist kein skalarer Wert. Folgendes kannst du jedoch machen: PHP: class foo { private $test="bla"; function getBla ($bla = null) { if( is_null($bla) ) { $bla = $this->test; } } }
Nur skalare Werte können als initiale Werte vorgegeben werden. Und $this->test ist kein skalarer Wert. Folgendes kannst du jedoch machen: PHP: class foo { private $test="bla"; function getBla ($bla = null) { if( is_null($bla) ) { $bla = $this->test; } } }
Flex (aka Felix Jacobi) 31. März 2008 #3 Oder noch eine Alternative mit Klassenkonstanten. PHP: <?php class foo{ const test = "bla"; function getBla ($bla = self::test) { echo $bla; } } $foo = new foo; $foo->getBla(); ?>
Oder noch eine Alternative mit Klassenkonstanten. PHP: <?php class foo{ const test = "bla"; function getBla ($bla = self::test) { echo $bla; } } $foo = new foo; $foo->getBla(); ?>