Heim > Backend-Entwicklung > PHP-Tutorial > Die Rolle von PHP-Verschlüssen

Die Rolle von PHP-Verschlüssen

WBOY
Freigeben: 2023-03-02 09:30:01
Original
1038 Leute haben es durchsucht

<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>
Nach dem Login kopieren
Nach dem Login kopieren

Antwortinhalt:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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懒加载

2. Tatsächlich sind anonyme Funktionen größtenteils eine Manifestation von

函数式编程

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage