Ich habe versucht, auf meine Instanz im Konstruktor mit der Variablen $ this zuzugreifen; In allen anderen Verfahren es Arbeit gut scheinen, wenn ich $this->event->method()
nennen, aber auf dieser Methode wirft es mir einen Fehler
$ this verwenden, wenn sie nicht in Objektkontext
Ich habe gerade eine Forschung über dieses Thema und Die Antworten, die ich fand, waren alles über die Version von PHP, aber ich habe die Version 5.4. Was kann das Problem sein?
Dies ist die Methode, die ich versuche, die Instanz aufzurufen.
// all protected variable $event , $team , $app
function __construct(EventTeamInterface $event,TeamInterface $team) {
$this->event = $event;
$this->team = $team;
$this->app = app();
}
/**
* @param $infos array() |
* @return array() | ['status'] | ['msg'] | ['id']
*/
public static function createEvent($infos = array()){
$create_event = $this->event->create($infos);
if ($create_event) {
$result['status'] = "success";
$result['id'] = $create_event->id;
} else {
$result['status'] = "error";
$result['msg'] = $create_event->errors();
}
return $result;
}
Vielen Dank für die präzise und klare Antwort! – Fabrizio
Ab PHP 5.4.0 unterstützen Closures (anonyme Funktionen) nun $ this: http://php.net/manual/en/migration54.new-features.php –