In der Klasse unten, wenn instanziiert, erhalte ich folgende Fehlermeldung:
'$ this' (T_VARIABLE) in Ihrem Code in Zeile 12 ‚default_timestamp '=> $ this -> _ time,
Ich bin verwirrt, denn wenn das Objekt instanziiert wird, nehme ich an, $ _time ist zugänglich für die Verwendung, aber es scheint, es ist nicht. Ich versuchte auch 'default_timestamp' => time()
, aber das warf auch einen Fehler. Missverstehe ich die Objekt-Instanziierung?
class DateTimeHandler {
public $_date;
public $_time = 'xxx';
public $_datetime;
public $_timezone;
public $opts = array(
'default_timezone' => 'America/New_York',
'default_timestamp' => $this->_time,
'formats' => array(
'date' => 'Y-m-d',
'time' => 'g:ia',
'full' => 'Y-m-d H:i:s'
)
);
public function __construct() {
echo '<pre>', print_r($this->opts, true);
}
}
$d = new DateTimeHandler();
Das hat funktioniert, gibt es einen Grund, warum Sie es nicht direkt tun können? – Naterade
verweisen Sie dies: http://php.net/manual/en/language.oop5.properties.php ** Initialisierung muss ein konstanter Wert sein - das heißt, es muss in der Lage sein, zur Kompilierzeit ausgewertet werden und darf nicht abhängen auf Laufzeitinformationen, um ausgewertet zu werden. ** –