Warum ist es nicht möglich, eine Eigenschaft zu einer Funktion zu initialisieren, wenn Sie die Eigenschaft in PHP deklarieren? Die folgenden snippit Ergebnisse in einem Parse-Fehler: Syntaxfehler, unerwartete T_FUNCTIONInitialisiere Klasseneigenschaft mit einer anonymen Funktion
<?php
class AssignAnonFunction {
private $someFunc = function() {
echo "Will Not work";
};
}
?>
Doch Sie eine Eigenschaft auf eine Zeichenfolge, Zahl oder andere Datentypen initialisieren können?
Edit:
Aber ich eine Funktion auf eine Eigenschaft in der __construct() -Methode zuweisen kann. Folgendes funktioniert:
<?php
class AssignAnonFunctionInConstructor {
private $someFunc;
public function __construct() {
$this->someFunc = function() {
echo "Does Work";
};
}
}
?>
Nicht hilfreich oder informativ; Was ist der Hintergrund dafür, warum es nicht implementiert ist? – Ophidian
Kritik war gut verdient, änderte ich die Antwort etwas mehr Details zu haben. –