was ist die beste Art und Weise (Speicher sicher) verwendet call_user_func
von Selbst Instanz verwenden zB .:
call_user_func(array($this, 'method'));
oder durch Bezugnahme eingeschlossen, zB .:
call_user_func(array(&$this, 'method'));
PS. Ich weiß, der beste Weg, $this->method
ist aber für Framework-Entwurfsmuster Grund (Wordpress) i verwenden Sie call_user_func
Das ist ein fragwürdiges Design-Muster ist. Ja, das ist möglich und macht in einigen sehr speziellen Fällen Sinn. Aber im Allgemeinen macht es den Code viel schwerer zu lesen (also beizubehalten) und bricht hilfreiche automatische Vervollständigung und Tippunterstützung durch moderne IDEs ein. – arkascha
Ich würde sagen, es hängt wirklich von der Situation und der Komplexität ab und davon, was und wie Sie sich verhalten wollen. Ich denke (obwohl ich mir nicht ganz sicher bin), dass beide ziemlich sicher sind, da PHP intern alle Speicher verarbeitet. – JRsz
Das Generieren Ihrer eigenen expliziten Referenz ist mehr Arbeit für PHP, da es nun nach Referenzzählungen suchen muss. PHP vergibt die Objekte ohnehin per Referenz. Es klont es nur, wenn Sie es in Ihrem Code ändern. siehe [PHP copy on write bedeutet ok, große Arrays nach Wert zu übergeben, wenn nur lesbar] (http://webslainte.blogspot.co.uk/2012/09/php-copy-on-write-means-ok-to-pass .html). Die Referenzen in diesem Artikel sind sehr interessant. –