Einfach ist ein Projekt, das eine Reihe von Paketen zusammenbringt, um schnell und minimal mit PHP zu arbeiten. Weniger ist mehr!
Um die einfache Verwendung zu verwenden, können Sie den Befehl verwenden:
$ composer create-project phpzm/simplesoder machen Sie eine Kopie des Repository White Master
$ git clone https://github.com/phpzm/simples.git < dir >
$ cd < dir >
$ rm .git
$ composer installInzwischen haben Sie bereits eine grundlegende Architektur heruntergeladen und müssen einige Details einrichten, um Happy Basic -Funktionen für eine PHP -Website oder ein PHP -System zu verwenden.
Die beiden Einstellungen, die als Basis zur Verfügung gestellt werden, werden unten erwähnt, sind auf dieselbe URL .env : http://localhost:8080 bevor ein der Servermodi gestartet wird
$ composer run env:initErstellt eine Kopie der Beispieldatei, die zusammen mit dem Projekt zur Verfügung gestellt wird
$ composer run docker:initAls nächstes können Sie den Befehl verwenden, mit dem die Container ausgeführt werden oder verwendet werden
$ composer run docker:serve --timeout=0Um den Entwicklungsserver zu verwenden, der mit PHP ausgestattet ist, verwenden Sie die folgenden Befehle
$ composer run php:serve --timeout=0 Bei dem Zugriff auf die URL http://localhost:8080 sehen Sie bereits unsere Standardpräsentationsseite
Okay, die URL, die funktionieren sollte, ist in Ordnung, aber lassen Sie uns einen Überblick darüber geben, was sie passiert ist, um zu rennen.
In diesem Ordner finden Sie den einzigen Einstiegspunkt für Anfragen, die Ihre Bewerbung hat. Beim Öffnen der index.php -Datei, die sich darin befindet, finden wir die erste Interaktion mit den einfachen Dateien. Zusätzlich zur PHP -Datei gibt es auch Dateien, die wir normalerweise assets aufrufen. Sie sind die Bilder, Stildateien und Funktionen, die zur Verbesserung der Visualisierung von Anwendungsressourcen verwendet werden. Dieser Ordner wird verwendet, um freiliegende Dokumente zu hinterlassen, auf die jeder zugegriffen werden kann.
Dieses Verzeichnis enthält eine PHP -Dateiliste, die zum Konfigurieren von Anwendungsverhalten verwendet wird. Während Sie sich diese Dateien ansehen, werden Sie feststellen, dass eine Funktion namens env verwendet wird, um einige Eigenschaften zu definieren. Diese Funktion erholt die Werte, die im .env definiert sind.
Schließlich kamen wir dort an, wo die Party passiert. Simples wird mit den richtigen Einstellungen ausgestattet, um dieses Verzeichnis zu verwenden, um die von Ihnen erstellten Dokumente zu konsultieren. Da Sie viel tun können, teilen wir alles in Teile auf.
Es beherbergt die Dokumente im Zusammenhang mit der Zusammensetzung der Ressourcen indirekt. Es ist ursprünglich mit 3 Verzeichnissen (E -Mail, Orte, Ansicht) konfiguriert, aber Sie können es bequem machen. Sie können in der Datei config/app.php eine Konfigurationsbefehls ähnelt, die dem unten ähnelt. Basierend auf dem Beispiel können wir die Helfer config('app.resources.root') verwenden, dass der app/resources Ressourcenwert zurückgegeben wird und so einfach die von ihnen verwendeten Funktionen lokalisiert.
[config/app.php]
<?php
( . . . )
' resources ' => [
' root ' => ' app/resources ' ,
]
(...) Wir werden mehr über diesen Teil der views und deren Verwendung des Vorlagenabschnitts sehen.
Dies ist ein vorgeschlagener Weg für die Verwendung von Routen. Es ist in config/route.php beschrieben, in dem Sie ein Dateiarray eingeben können, das initialisiert wird, um die Anwendungsrouten zu komponieren.
[config/route.php]
<?php
( . . . )
' files ' => [
' app/routes/index.php '
]
(...) Wenn eine HTTP -Anforderung an public/index.php gesendet wird, wird daher mit der Suche nach Routen in der Datei app/routes/index.php gesucht. Später, im Abschnitt "Routenerstellung", werden wir sehen, wie man organisierte Routen mit dem einfachen Erstellen erstellt.
Dieser Ordner steht in direktem Zusammenhang mit dem Composer autoloader über die Konfiguration auf composer.json
[composer.json]
(...)
"autoload": {
"psr-4": {
"App\": "app/src/"
}
}
(...)
Das heißt, der Standard -Typenepace, den Sie verwenden, ist die App und die Datei sollte sich innerhalb des oben beschriebenen Ordners befinden. Offensichtlich können Sie dies ändern. Beachten Sie, dass Sie mit der PSR-4 Konvention beim Erstellen eines Dokuments mit ordnungsgemäßer namespace sie transparent verwenden können. Wir werden uns im Abschnitt "Strukturkomposition" genauer eingehen.
Um einen anfänglichen Pfad anzugeben, empfehlen wir diesen Ordner, der als storage auf der Wurzel des Projekts bezeichnet wird, um Dokumente zu verwalten, die nicht für den öffentlichen Zugriff geöffnet werden können.
Der vendor wird automatisch vom Composer erstellt. Es hat die Abhängigkeiten, die Ihr Projekt verwendet und laden wird. Lasteinstellungen. Es ist standardmäßig in der .gitignore -Datei konfiguriert, die von Git ignoriert werden soll
Die Konfiguration, deren erste Route (oder die erste Routen) aufgerufen werden, ist standardmäßig in app/config/route.php .
Einstellungen für Anwendungsressourcenzugriff können in den Routendateien vorgenommen werden. Befehle können direkt in die Datei der Datei geschrieben werden (wobei eine Variable von $ Router aus Umfangsgründen verfügbar ist) oder die Rückgabe von Schließungen, die den $ Router als Parameter erhalten.
Einfache Routen
return function ( $ router ) {
$ router -> on ( ' GET ' , ' / ' , function () {
return ' Hello World! ' ;
});
}Dynamische Routen
return function ( $ router ) {
$ router -> get ( ' /:controller/:method ' , function ( $ controller , $ method ) {
return ' Hello World! ' ;
});
}Rota -Gruppen
return function ( $ router ) {
// lista com arquivos de rota
$ router -> group ( ' GET ' , ' /site ' , [ ' more/files/routes.php ' , ' more/files/site.php ' ]);
// pasta que contém arquivos de rotas
$ router -> group ( ' * ' , ' /api ' , ' api/routes ' );
}Routen mit Interaktion mit Controller
return function ( $ router ) {
$ router -> post ( ' /client/save ' , ' NamespaceClientController@save ' );
$ router -> resource ( ' client ' , ' NamespaceClientController ' );
} Eine $router->resource erstellt:
| Verb | Weg | Aktion | Routenname |
|---|---|---|---|
| Erhalten | /route | Index | Route.Index |
| Erhalten | /route/create | Erstellen | Route.create |
| Erhalten | /route/{id} | zeigen | Route.show |
| Erhalten | /route/{id}/edit | bearbeiten | Route.Edit |
| Post | /route | Ster | Route.Store |
| Put/Patch | /route/{id} | aktualisieren | Route.update |
| Löschen | /route/{id} | zerstören | Route.Destroy |