Die Absicht des Repositorys besteht darin, Entwickler anhand verschiedener Beispiele dazu zu inspirieren, Designmuster zu verstehen und zu verwenden. Bitte erwägen Sie, Beispiele für Muster hinzuzufügen, die anderen helfen können, das Muster besser zu verstehen.
Bitte befolgen Sie die Richtlinien, um dieses Projekt durchzuführen.
git clone https://github.com/basherr/PHP-Design-Patterns.git
composer install
composer test
Testbefehl ausführenpublic/
und führen Sie den Befehl aus: php -S localhost:8000
Schauen Sie sich die Datei „routes.php“ an, um ein bestimmtes Musterbeispiel zu testen.
Wenn Sie feststellen, dass eine Implementierung falsch oder vage ist, erstellen Sie bitte ein Problem und lassen Sie uns uns gegenseitig auf dem Weg zum Erlernen von Designmustern helfen.
Ihr Beitrag kann einen sehr guten Einfluss auf die Community haben. Versuchen Sie daher, jedes mögliche Beispiel zu teilen, das Ihnen einfällt oder das Sie in der Vergangenheit erlebt haben.
Das Repository basiert nicht auf einem Framework, sondern ist von No Framework inspiriert
Die Codestruktur für das Repository ist wie folgt:
app
bootstraps
public
stubs
tests
Der Lebenszyklus der Anwendung ist wie folgt:
public/index.php
dient als Einstiegspunkt für die gesamte Anwendung, die boostrap/autoload.php
lädtbootstrap/autoload.php
verarbeitet HTTP
Anfragen und leitet die Route an die entsprechende Controller method
weiter, die in bootstrap/routes.php
definiert ist.Um einen Beitrag zu leisten und reale Beispiele für das entsprechende Muster hinzuzufügen, befolgen Sie bitte die Richtlinien:
app/Patterns/{Type eg Creational, Behavioral or Structural}/{Pattern Name}/{Example Name}/your code
unit tests
Application.php
mit einer Methode namens render
um die Verwendung zu beschreiben. Beispiel Application.phpbootstraps/routes.php
hinzucomposer test
durch und stellen Sie sicher, dass alle Tests erfolgreich sindBitte zögern Sie nicht, einen Beitrag zu leisten und Pull-Anfragen zu erstellen.
Der einzige verfügbare Konsolenbefehl zum Erstellen von Tests ist:
php .bootstrapsconsole_autoload.php MyAwesomeTestName
Bitte erstellen Sie ein Problem oder treten Sie Discord für Diskussionen bei.
Alle Codebasen sind MIT-lizenziert, sofern nicht anders angegeben.