<code> public function __construct($config) { parent::__construct(); $this['config'] = function () use ($config) { return new Config($config); }; ... 其中 $this['config'] = function () use ($config) { return new Config($config); 能不能直接写成这样: $this['config'] = new Config($config); 有什么优势?</code>
<code> public function __construct($config) { parent::__construct(); $this['config'] = function () use ($config) { return new Config($config); }; ... 其中 $this['config'] = function () use ($config) { return new Config($config); 能不能直接写成这样: $this['config'] = new Config($config); 有什么优势?</code>
Verzögertes Laden. Beide Schreibweisen sind jedoch in Ordnung. $this['config'] = new Config($config);
Auf diese Weise wird die $this->['config']
-Operation ausgeführt, wenn Sie new Config($config)
einen Wert zuweisen.
<code class="php">$this['config'] = function () use ($config) { return new Config($config); }</code>
Auf diese Weise geben Sie einfach $this->['config']
eine anonyme Funktion an und der new Config($config)
-Vorgang wird nur dann ausgeführt, wenn Sie ihn verwenden müssen.
Ich weiß nicht, ob meine Erklärung richtig ist= =Sie ist nicht sehr aussagekräftig= =
<code>能不能直接写成这样: $this['config'] = new Config($config); 有什么优势?</code>
Es kann so geschrieben werden, aber es wird jedes Mal, wenn es instanziiert wird, in die neue Config-Klasse verschoben, und es spielt keine Rolle, ob es verwendet wird oder nicht
<code>$this['config'] = function () use ($config) { return new Config($config); }</code>
Diese Schreibweise besteht darin, eine anonyme Funktion für $this['config'] zu deklarieren. Wenn $this['config'] tatsächlich aufgerufen wird, wird auf die neue Config-Klasse zugegriffen;
Der Vorteil dieser Schreibweise besteht darin, dass, wenn $this['config'] nicht tatsächlich verwendet wird, der zusätzliche Instanziierungsprozess und der Speicherverbrauch reduziert werden
Der Abschluss erstellt beim tatsächlichen Aufruf eine neue Konfiguration, sodass Lazy Load erreicht werden kann.
Zusätzlich zu den oben genannten
besteht ein weiterer Vorteil darin, dass ein 懒加载
implementiert wird – jedes Mal, wenn Sie die Konfiguration erhalten, kommt eine neue heraus 工厂模式
1.
Alle haben es erwähnt懒加载
函数式编程