Heim Backend-Entwicklung PHP-Tutorial Ich versuche, in die Laravel-Abhängigkeitsinjektion einzusteigen

Ich versuche, in die Laravel-Abhängigkeitsinjektion einzusteigen

Aug 12, 2024 am 06:59 AM

Trying to get into laravel dependency injection

<?php

use App\Models\User;

test('Action', function () {

    app()->singleton(ClassInterface::class, T1Impl::class);
    $out1 = app(ClassInterface::class)();
    $this->assertEquals("T1?", $out1);

    app()->bind(ClassInterface::class, T2Impl::class);

    $out2 = app(ClassInterface::class)();
    $this->assertEquals("T2!", $out2);

    app()->bind(T1Impl::class, T2Impl::class);
    $out3 = app(T1Impl::class)();
    $this->assertEquals("T2!", $out3);



    app()->bind(T2Impl::class, T3Impl::class);
    app()->bind(T1Impl::class, T2Impl::class);
    app()->singleton(ClassInterface::class, T1Impl::class);
    $out4 = app(ClassInterface::class)();
    $this->assertEquals("T3!", $out4);


    $user = User::factory()->create(['name'=>'Tomas']);
    $out5 = app(T4::class, ['user'=>$user])();
    $this->assertEquals("Tomas", $out5);
});

interface ClassInterface {
    public function __invoke();
}

class T1Impl implements ClassInterface {
    public function __invoke() {
        return "T1?";
    }
}

class T2Impl implements ClassInterface {
    public function __invoke() {
        return "T2!";
    }
}


class T3Impl implements ClassInterface {
    public function __invoke() {
        return "T3!";
    }
}

class T4 {
    public function __construct(
        public User $user
    ){}

    public function __invoke() {
        return $this->user->name;
    }
}

Und.. Das heißt, wenn ich Laravel „richtig“ mache, kann ich das Modul „nwidard/larave-modules“ löschen und es überschreibt jeden Teil des Codes?

Das obige ist der detaillierte Inhalt vonIch versuche, in die Laravel-Abhängigkeitsinjektion einzusteigen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie setzen Sie die PHP -Zeitzone? Wie setzen Sie die PHP -Zeitzone? Jun 25, 2025 am 01:00 AM

Tosettherighttimezoneinphp, usedate_default_timezone_set () functionAtthestartofyourScriptWithAvalididentifiersuchas'america/new_york'.1.usedate_default_timezone_set () beeanydate/timeFununtions.2.Alternativ, konfigurieren

Was sind die besten Praktiken zum Schreiben von sauberem und wartbarem PHP -Code? Was sind die besten Praktiken zum Schreiben von sauberem und wartbarem PHP -Code? Jun 24, 2025 am 12:53 AM

Der Schlüssel zum Schreiben von sauberem und leicht zu machenden PHP-Code liegt in klarer Benennung, nach Standards, angemessene Struktur, nützlicher Kommentare und Testbarkeit. 1. Verwenden Sie klare Variablen, Funktionen und Klassennamen wie $ userData und calculatetotalprice (); 2. Folgen Sie dem PSR-12-Standard-Unified-Code-Stil; 3. Teilen Sie die Codestruktur gemäß den Verantwortlichkeiten und organisieren Sie sie mit MVC- oder Laravel-Katalogen im Stil. 4. Vermeiden Sie den Code im Nudelstil und teilen Sie die Logik in kleine Funktionen mit einer einzigen Verantwortung auf. 5. Kommentare an Schlüsselpunkten hinzufügen und Schnittstellendokumente schreiben, um Parameter, Rückgabewerte und Ausnahmen zu klären. 6. Verbesserung der Prüfbarkeit, Abhängigkeitsinjektion, reduzieren Sie den globalen Zustand und die statischen Methoden. Diese Praktiken verbessern die Codequalität, die Effizienz der Zusammenarbeit und die Nachverdauerung nach der Wartung.

Wie führe ich SQL -Abfragen mit PHP aus? Wie führe ich SQL -Abfragen mit PHP aus? Jun 24, 2025 am 12:54 AM

Ja, YoucanrunsqlQuerieseusePhp und TheProcessinvolveschoosingAdaTabaseextension, ConnectingTothedatabase, ExecutingQueriessafely und ClosenconnectionSwhendone.Todothis, FirstChooseBetweenmysqliorpdo, withpdobeeringmortextextextextextextextextextediestimestutedieseduetosuTosuTosuTosuToseSupporingMulningMulningMulningMulningMuldaTaTablesingmorebotte, withpdobeeringmortextextextextextextediestubliothekern

Wie testet man schnell PHP -Code -Snippets? Wie testet man schnell PHP -Code -Snippets? Jun 25, 2025 am 12:58 AM

ToquicklyTestaphpcodesnippet, useanonLinephpsandboxlike3v4l.orgorphpize.onlineforinStantexecution mit;

Wie benutze ich Seiten zwischen PHP? Wie benutze ich Seiten zwischen PHP? Jun 24, 2025 am 12:50 AM

PHP -Seite Caching verbessert die Website -Leistung, indem das Laden von Server geladen und beschleunigt wird. 1. Grundlegender Datei -Cache vermeidet die wiederholte Erzeugung dynamischer Inhalte durch Generieren statischer HTML -Dateien und Bereitstellung von Diensten während der Gültigkeitszeit; 2. Aktivieren Sie Opcache, um PHP -Skripte in Bytecode zu kompilieren und in Speicher zu speichern, wodurch die Ausführungseffizienz verbessert wird. 3. Für dynamische Seiten mit Parametern sollten sie separat gemäß URL-Parametern zwischengespeichert werden und vermiedenen benutzerspezifische Inhalte. 4. Leichte Cache -Bibliotheken wie phpfastcache können verwendet werden, um die Entwicklung zu vereinfachen und mehrere Speichertreiber zu unterstützen. Das Kombinieren dieser Methoden kann die Caching -Strategie von PHP -Projekten effektiv optimieren.

Wie upgrade ich die PHP -Version auf? Wie upgrade ich die PHP -Version auf? Jun 27, 2025 am 02:14 AM

Das Upgrade der PHP -Version ist eigentlich nicht schwierig, aber der Schlüssel liegt in den Betriebsschritten und Vorsichtsmaßnahmen. Im Folgenden finden Sie die spezifischen Methoden: 1. Bestätigen Sie die aktuelle PHP -Version und verwenden Sie die Umgebung aus der laufenden Umgebung. Verwenden Sie die Befehlszeile oder die Phpinfo.php -Datei, um sie anzuzeigen. 2. Wählen Sie die geeignete neue Version aus und installieren Sie sie. Es wird empfohlen, es mit 8.2 oder 8.1 zu installieren. Linux -Benutzer verwenden Package Manager und MacOS -Benutzer verwenden Homebrew. 3.. Konfigurationsdateien und Erweiterungen migrieren, php.ini aktualisieren und die erforderlichen Erweiterungen installieren; 4. Testen Sie, ob die Website normal ausgeführt wird, überprüfen Sie das Fehlerprotokoll, um sicherzustellen, dass kein Kompatibilitätsproblem vorliegt. Befolgen Sie diese Schritte und Sie können das Upgrade in den meisten Situationen erfolgreich abschließen.

PHP -Anfängerhandbuch: Detaillierte Erläuterung der lokalen Umgebungskonfiguration PHP -Anfängerhandbuch: Detaillierte Erläuterung der lokalen Umgebungskonfiguration Jun 27, 2025 am 02:09 AM

Um eine PHP -Entwicklungsumgebung einzurichten, müssen Sie die entsprechenden Tools auswählen und die Konfiguration korrekt installieren. ① Die grundlegendste lokale PHP -Umgebung erfordert drei Komponenten: den Webserver (Apache oder Nginx), das PHP selbst und die Datenbank (wie MySQL/Mariadb); ② Es wird empfohlen, dass Anfänger Integrationspakete wie XAMPP oder MAMP verwenden, die den Installationsprozess vereinfachen. XAMPP ist für Windows und MacOS geeignet. Nach der Installation werden die Projektdateien in das HTDOCS -Verzeichnis platziert und über Localhost aufgerichtet. ③MAMP ist für Mac -Benutzer geeignet und unterstützt eine bequeme Umstellung von PHP -Versionen, aber die kostenlose Version hat begrenzte Funktionen. ④ Erweiterte Benutzer können sie manuell durch Homebrew in macOS/Linux -Systemen installieren

Schritte zur Konfiguration einer PHP -Entwicklungsumgebung unter Linux Schritte zur Konfiguration einer PHP -Entwicklungsumgebung unter Linux Jun 30, 2025 am 01:57 AM

TosetupaphpDevelvenvironmentonLinux, InstallPandRequiredEXTENSSSS, SetupawebserverlikeAnginx, testwithaphpFile und optionalinstallmysqlandComposer.1.installphpandextensViaPackagemanager (E. G., SudoaptalphpPhphphphphphphphphphphphphphp-MysqLphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpmbphp

See all articles