Wir schlagen nachdrücklich unseren Rahmen für persönliche Blogs, Nachrichtenagenturen und REST -API -Entwicklung vor.
Wie bei jedem anderen PHP-Framework haben wir dieses Projekt auf der Grundlage der MVC-Architektur mit den vorgestellten Diensten wie $Add->Loader , REST API , SharedLayouts , Middlewares und vordefinierten Sicherheitskonzepten gestartet. Alles in Simple ist so einfach wie die Installation auf Ihrem Server!
Laden Sie es von diesem Repository herunter:
composer create-project miladxandi/simplist
Denken Sie daran, dass Ihre PHP -Version oberen als 7 sein sollte, und die lokale Anforderungsadresse sollte festgelegt werden:
public_html/
Danach müssen Sie den Benutzernamen und die Tabelle Ihrer Datenbank festlegen! In einem lokalen Projekt für die erste Verwendung sollten diese Werte einfach so sein:
Tabelle: simimed_simplist
Benutzername: Wurzel
Passwort: leer (ohne Wert oder eine leere Zeichenfolge)
Sie können diese Werte ändern, indem Sie in die Modellschicht gehen und in Verbindung zwischen Core/Konfigurationen in Verbindung zwischen Core/Konfiguration ändern oder zu dieser Adresse übergehen:
Core/configurations/connection.phtml
Hinweis: Es gibt eine SQL -Tabellendatei in "Ressourcen" -Firmen, in der Sie sie problemlos in Ihre lokale oder Online -MySQL -Datenbank importieren können
Bis Sie an einem lokalen Arbeitsverzeichnis arbeiten, wird das HTTPS -Protokoll ausgeschaltet. Wenn Sie es jedoch auf Ihrem Server hochladen möchten, kann das HTTPS -Protokoll eingeschaltet werden, indem Sie die "SecureProtocol" im true im Ordner Konfigurationen erstellen.
Core/Konfigurationen/Routing.phtml
Sie können das $SecureProtocol = false; $SecureProtocol = true;
Es ist komplett installiert und für den Gebrauch bereit.
Um Ihre eigenen Routen zu definieren, gehen Sie zu dieser Adresse:
Route/Einstellung/Routes.phtml
Es gibt nur einen Array -Rückzug, der die URL als Array -Schlüssel und Konfigurationen als Werte zurückgibt. Jede neue Route sollte genau aus dieser Vorlage erstellen:
'/aboutus' => [
'target'=>'Main.Home.Aboutus',
'get'=> true,
'post'=> false,
'middleware'=>'Main.Home.Aboutus'
'important'=>false
],
Lassen Sie mich die Zeile für Zeile beschreiben:
'/aboutus'
Dies ist eine Webadresse, die die angeforderte Adresse durch Controller und Middlewares verarbeitet und ein Schlüssel für ein Array ist. HINWEIS: Unser Router -System ist nicht fallsempfindlich, aber Sie können Kleinbuchstaben definieren.
'target'=>'Main.Home.Aboutus'
Dies bedeutet, dass der Zielcontroller "Homecontroller" im Ordner "Haupt" des Ordners des Controllers ist und nach Anforderung dieser Adresse "Aboutus" -Methode so genannt wird, wie es am Ende von
'target'=>'Main.Home.Aboutus'Controller geschrieben wurde. Sie können auch in einerQuerry Stringverarbeiten, indem Sie sie in seinen Funktionsparametern erhalten. Sie können auch eine Anfrage zur Datenbank in Controller -Dateien stellen. Die angegebeneQuerry Stringoder Datenbankwerte sollten in ein Array mit$Viewbag-Namen einfügen. Sie können sie mit diesem Code in Ihre Webseite senden:View::Process("Main.Home.Post",$Viewbag);Es ist jetzt aus der angeforderten "Ansicht" -Datei in "public_html/view/..." zugegriffen. Anstatt Ihre Logikcodes in die Controller zu schreiben, empfehlen wir Ihnen, sie in den Ordner "Logik" im Ordner des Modells zu stecken. In diesem Ordner gibt es einige großartige Verträge, mit denen Sie Ihr Unternehmen besser entwickeln können als je zuvor.
Hinweis: Controller und Middlewares müssen mit genau Controller.phtml oder Middleware.phtml -Erweiterungen erstellen, sollten hier jedoch ohne diese Erweiterungen geschrieben werden. Zum Beispiel haben wir "Homecontroller", aber wir können darauf zugreifen, indem wir nur seinen Namen ohne das "Controller" -Word: "Zuhause" schreiben, indem wir nur seinen Namen schreiben.
'get'=> true oder 'post'=> false
Dies sind die allgemeinen Serveranforderungsmethoden, die wir hier definieren können. Wenn Sie eine Postanforderung ablehnen möchten, müssen Sie nur den
postauffalseändern. Anschließend sehen Sie jede Anforderung mit derPOSTeinen Fehler "Anforderungsmethode nicht zulässig".
'middleware'=>'Main.Home.Aboutus'
Wenn es keinen Konflikt mit der angeforderten URL und ihrer definierten Anforderungsmethode gab, haben wir vor dem Start von Controllern einige Middleware, um einige Validierungen durchzuführen. Es kann verwenden, um Sicherheitscookies oder Website -Sprachoptionen usw. zu überprüfen. Jede Middleware sollte in seinem "Status" -Staste
truezurückgeben, um ihre Prüfung zu bestehen. Middlewares kann auch in einerQuerry Stringverarbeiten, indem sie in ihren Funktionsparametern abgerufen werden. Genau wie Controller brauchen wir ihren reinen Namen ohne das Wort "Middleware".
'important'=>false
Wie Sie bereits lesen, ist unser System standardmäßig nicht in der Fall sensibel, aber manchmal müssen Sie auf einer sensiblen URL mit Fall verarbeiten, um einige Token und sensible Daten oder andere Gründe zu validieren. Sie können diese Regel unseres Routing -Systems ändern, indem Sie
'important'=>trueverwenden oder sie durch'important'=>falseausschalten. Hinweis: Dieser Schlüssel im Routing -Array ist nicht erforderlich.
Um Ihre eigenen Routen zu definieren, gehen Sie zu dieser Adresse:
Route/Einstellung/api.phtml
Es gibt nur einen Array -Rückzug, der die URL als Array -Schlüssel und Konfigurationen als Werte zurückgibt. Jede neue Route sollte genau aus dieser Vorlage erstellen:
'/api' => [
'target' => 'Api.Home.Index',
'allowed'=> 'get',
'blocked'=> 'DELETE',
'middleware'=>'Main.Home.Index',
'important'=>false
]
Lassen Sie mich die Zeile für Zeile beschreiben:
'/api'
Dies ist eine Webadresse für das Aufrufen von API und verarbeitet den angeforderten Dienst von Controllern und Middlewares und ist ein Schlüssel eines Arrays. HINWEIS: Unser Router -System ist nicht fallsempfindlich, aber Sie können Kleinbuchstaben definieren.
'target' => 'Api.Home.Index'
Dies bedeutet, dass der Zielcontroller "Homecontroller" im Ordner "API" des Ordners "API" des Ordners Controllers ist und nach Anforderung dieser Adresse "Index" -Methode so genannt wird, wie es am Ende von
'target' => 'Api.Home.Index'Controller geschrieben wurde. Sie können auch in einerQuerry Stringverarbeiten, indem Sie sie in seinen Funktionsparametern erhalten. Sie können auch eine Anfrage zur Datenbank in Controller -Dateien stellen. Anstatt Ihre Logikcodes in die Controller zu schreiben, empfehlen wir Ihnen, sie in den Ordner "Logik" im Ordner des Modells zu stecken. In diesem Ordner gibt es einige großartige Verträge, mit denen Sie Ihr Unternehmen besser entwickeln können als je zuvor.
Hinweis: Controller und Middlewares müssen mit genau Controller.phtml oder Middleware.phtml -Erweiterungen erstellen, sollten hier jedoch ohne diese Erweiterungen geschrieben werden. Zum Beispiel haben wir "Homecontroller", aber wir können darauf zugreifen, indem wir nur seinen Namen ohne das "Controller" -Word: "Zuhause" schreiben, indem wir nur seinen Namen schreiben.
'allowed'=> 'get' oder 'blocked'=> 'DELETE'
Wenn Sie Ihre App ein HTTP -Verb funktionieren lassen möchten, können Sie sie hier definieren und mit einem Komma trennen, damit Ihre API diese Methoden anwendet. Zum Beispiel möchten wir, dass unsere App mit unserem Server mit
POSTund Methoden mitGET. Wir werden beide hier genau so definieren:
'allowed'=> 'get,post'
Dann möchten wir einige HTTP -Verben von der Anfrage auf unseren Server einschränken. Wir müssen sie in den
blockedTeil dieses Abschnitts schreiben:
'blocked'=> 'DELETE'
Wir können so viele Verben schreiben, die wir in diesen Abschnitten wollen.
'middleware'=>'Main.Home.Aboutus'
Wenn es keinen Konflikt mit der angeforderten URL und ihrer definierten Anforderungsmethode gab, haben wir vor dem Start von Controllern einige Middleware, um einige Validierungen durchzuführen. Es kann verwenden, um Sicherheitscookies oder Website -Sprachoptionen usw. zu überprüfen. Jede Middleware sollte in seinem "Status" -Staste
truezurückgeben, um ihre Prüfung zu bestehen. Middlewares kann auch in einerQuerry Stringverarbeiten, indem sie in ihren Funktionsparametern abgerufen werden. Genau wie Controller brauchen wir ihren reinen Namen ohne das Wort "Middleware".
'important'=>false
Wie Sie bereits lesen, ist unser System standardmäßig nicht in der Fall sensibel, aber manchmal müssen Sie auf einer sensiblen URL mit Fall verarbeiten, um einige Token und sensible Daten oder andere Gründe zu validieren. Sie können diese Regel unseres Routing -Systems ändern, indem Sie
'important'=>trueverwenden oder sie durch'important'=>falseausschalten. Hinweis: Dieser Schlüssel im Routing -Array ist nicht erforderlich.
Die oLoad -Bibliothek ist ein vereinfachter Service und definiert, um Ihrem HTML head sauberer zu sein. Wenn Sie diese Bibliothek verwenden müssen, müssen Sie diesen Code zunächst in Ihrer Ansichtsdatei verwenden:
<?php $Add = new CoreRequirementoLoad("../../..","Style/Main","Script/Main","Content/Main"); ?>
In diesem Code können Sie verschiedene Standorte für Ihre JS, CSS, Bilder usw. definieren, da Sie Ihre App anpassen können ../../..
Dieser Code kann externe JS- oder CSS -Bibliotheken oder Bilder importieren.
Außerdem kann Ihrem Projekt eindeutige Dateien Arten hinzugefügt werden.
Dies ist ein vollständiger Code, um anzuzeigen, wie Sie ein Bild auf Ihrem HTML anzeigen können:
<?php $Add->Loader("png","eastCloud","Shared",true,false,"eastCloud",24,24,"Style","Class"); ?>
Dieser Code bedeutet:
<?php $Add->Loader(Extension: "png",Name: "eastCloud",UniqueUrl: "Shared",Local: true,UniqueType: false,ImageAlt: "eastCloud",ImageWidth: 24,ImageHeight: 24,ImageStyle: "Style",ImageClass: "Class"); ?>
Und erstellt ein komplettes <img> Tag, wo es verwendet wird.
Sie können JS- und CSS -Bibliotheken einfach so hinzufügen. Aber außer allem nach dem Local Argument in dieser Methode und ihren eigenen Erweiterungen wie folgt:
<?php $Add->Loader("css","Style",null,true); ?>
<?php $Add->Loader("js","Script",null,true); ?>
Mit dem UniqueUrl Argument können Sie interne oder externe Bibliotheken oder Bilder definieren. Wenn Sie UniqueUrl nicht definieren müssen, hinterlassen Sie einfach ein leeres Doppelzitat ( "" ) oder null als Argument. Es ist standardmäßig null.
Das Local Argument bedeutet, dass die Bibliothek oder das Bild eine lokale Datei ist oder nicht. Das System verwendet das Standardstamm mit dem angegebenen Argument, um diese Datei zu finden, wenn der Local true war.
Das UniqueType Argument muss true sein, wenn die Erweiterung alles außer JS, CSS, PNG, JPEG, JPG und ICO war. Es ist standardmäßig false .
Die js -Erweiterung erstellt vollständig <script src="../../../Script/Main/main.js"></script> code überall, wo Sie ihn nennen. Die css -Erweiterung erstellt vollständig <link rel="stylesheet" type="text/css" href="../../../Style/Shared/File.css"> code überall, wo Sie es nennen.
SharedLayouts ist der Name eines vereinfachten Dienstes, der sich im Shared -Ordner im Ansichtsordner befindet ( public_html/View/Shared ).
Es enthält standardmäßig 2 Ordner und eine .phtml -Datei mit "Layouts" -Name. Die Layouts -Datei kann einen oder mehrere Klassen für jeden Teil des Projekts enthalten. Zum Beispiel gibt es einfach eine Klasse wie folgt:
class MainLayouts { public static function _Header() { include "Main/_HeaderLayout.phtml"; } public static function _Menu() { include "Main/_MenuLayout.phtml"; } public static function _Footer() { include "Main/_FooterLayout.phtml"; } }
Es enthält einige Methoden, um einige andere Ansichtsdateien als Header, Menü und Fußzeile zu laden. Es gibt kein komplexes Konzept.
Wir setzen einige Mark -Down -Dateien mit ".md" -Extensionen als detaillierte Handbuch -Dateien ein. Wir empfehlen Ihnen dringend, einen Marke Down Viewer für Ihren Brower herunterzuladen und zu installieren, um diese Dateien mit besserer Erfahrung anzuzeigen.