Das ist eigentlich sehr einfach. Das Ausschließen des Lieferantenverzeichnisses aus Ihrem Repository ist der richtige Ansatz. Ihr Code sollte an einem separaten Ort (wie src) gespeichert werden.
die autoload Eigenschaft verwenden, der Komponist erkennt Ihren Namensraum (n) zu machen:
{
"autoload": {
"psr-4": {
"Acme\\": "src/"
}
}
}
Sie haben Klassennamen der Standard bA-4 folgende Unter der Annahme, sollte es funktionieren. Im Folgenden sind einige Beispiel für Klassennamen und ihre Positionen auf dem Dateisystem:
- Acme \ Command \ HelloCommand -> src/Befehl/HelloCommand.php
- Acme \ Formular \ Art \ EmployeeType -> src/Form/Typ/EmployeeType.php
Denken Sie daran, einen Namespace für jede Klasse zu definieren. Hier ist ein Beispiel von Acme \ Command \ HelloCommand:
<?php
namespace Acme\Command;
class HelloCommand
{
}
Vergessen Sie nicht, den Autoloader in Ihrem PHP-Controller enthalten:
<?php
require 'vendor/autoload.php';
Lesen Sie mehr über PSR-4 standard on PHP Framework Interoperability Group. Wenn Sie composer.json
bearbeiten, müssen Sie entweder install, update oder dump-autoload ausführen, um die Autoloader-Klassenpfade zu aktualisieren.
Sie könnten die Antwort mit einfachen Code-Beispielen mit einer oder zwei Dummy-Klassen aktualisieren? Obwohl ich die Dokumentation gelesen habe, mit der du verlinkt hast, und mein Verzeichnis/Namespacing mit denen in Vendor/vergleichen, kann ich meine Klassen nicht laden. – Letharion
@Letharion aktualisiert meine Antwort, hoffentlich wird dies helfen. –