Ich versuche, auf eine statische Klassenmitgliedsvariable in einem Array zuzugreifen.Konnte nicht auf statische Elementvariable von Klasse in Array zugreifen
My-Code (index.php):
<?php
class Foo
{
public static $staticVar = 'test';
}
class Bar
{
public $someArray = array(
Foo::$staticVar
);
}
$cls = new Bar();
var_dump($cls->someArray);
?>
auf PHP-7.0 erhalte ich diese Fehlermeldung:
PHP Fatal error: Constant expression contains invalid operations in /var/www/html/index.php on line 12
auf PHP-5.6 erhalte ich diese Fehlermeldung:
PHP Parse error: syntax error, unexpected '$staticVar' (T_VARIABLE), expecting identifier (T_STRING) or class (T_CLASS) in /var/www/html/index.php on line 11
Ich möchte nur die Zeichenfolge "test" in meinem Array haben.
Es ist seltsam, dass, wenn ich echo 'aus den Variablen es wie erwartet funktioniert:
echo Foo::$staticVar // prints 'test'
Ich bin neu in PHP und ich kann nicht herausfinden, was ich ist falsch.
gibt es also jede Problemumgehung die Zeichenfolge in das Array zu bekommen? Ich bin nur neugierig, wie ich diesen Fehler loswerden und/oder den "PHP-Weg" machen kann. – hecaex
@hecaex Ein Beispiel zur Antwort hinzugefügt – iainn
Danke dafür funktioniert wie ein Charme! – hecaex