„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Detaillierte Erläuterung der automatischen Ladestandards von PSR in PHP

Detaillierte Erläuterung der automatischen Ladestandards von PSR in PHP

Gepostet am 2025-04-29
Durchsuche:613

PSR-Autoloading Standard in PHP

ahnii!

Erinnern Sie sich an PHPs Handbuch . Erfordern Sie Tage? Letzte Woche habe ich einem Team geholfen, ihre Legacy -App zu verbessern - über 50 Erforderliche Anweisungen pro Datei! Mal sehen, wie PSR-4 Autoloading dies löst.

psr-4 verstehen (5 Minuten)

psr-4 ist der automatische Dateilocator Ihres Code. Wie ein GPS, das Adressen verwendet, verwendet PSR-4 Namespaces, um Klassen zu finden.

Schlüsselkonzepte (2 Minuten)

  1. voll qualifizierter Klassenname (fqcn): Vendor \ package \ class . Betrachten Sie es als die vollständige Adresse Ihrer Klasse.
  2. Verzeichnisstruktur: Ein gut organisiertes Projektverzeichnis mit Namespace-to-Directory-Mappings.
Real-World Beispiel (10 Minuten)

Projektstruktur:

vendor/
└── jonesrussell/
    └── blog/
        ├── composer.json
        └── src/
            └── Post/
                ├── PostController.php
                └── PostRepository.php
Einrichten des Komponisten (3 Minuten)

Composer.json :

{
    "name": "jonesrussell/blog",
    "autoload": {
        "psr-4": {
            "JonesRussell\\Blog\\": "src/"
        }
    }
}
Erstellen von Klassen (2 Minuten)

postcontroller.php :

 'Ready to blog!'];
    }
}
Gemeinsame Muster (5 Minuten)

Multiple Namespace -Wurzeln:

{
    "autoload": {
        "psr-4": {
            "JonesRussell\\Blog\\": "src/",
            "JonesRussell\\Blog\\Tests\\": "tests/"
        }
    }
}
verschachtelte Namespaces: (Dateiort:

src/core/database/Connection.php )

config = $config;
    }
}
Framework Beispiele (5 Minuten)

laravel und symfony verwenden psr-4 standardmäßig.

laravel Beispiel:

Symfony Beispiel:

render('blog/index.html.twig');
    }
}
Fehlerbehebung (3 Minuten)

  • "Klasse nicht gefunden" Fehler: run Composer Dump-autoload .
  • Verzeichnisstruktur Themen: Stellen Sie sicher, dass Ihre Verzeichnisstruktur Ihren Namespaces entspricht (Fall-sensitiv!). .
testing (2 Minuten)

create

test-autoload.php :

index()); // Should output "Ready to blog!"
Nächste Schritte

Als nächstes werden wir Psr-6 (Caching) abdecken. Dies ist Teil unserer PSR Standards -Serie.

Ressourcen

    Offizielle PSR-4-Spezifikation
  • Composer Autoloading -Dokumentation
  • Serie Beispiel Repository (v0.3.0 - PSR -4 Implementierung)
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3