Nous suggérons fortement notre cadre pour les blogs personnels, les agences de presse et le développement d'API REST.
Comme tout autre cadre PHP, nous avons commencé ce projet en fonction de l'architecture MVC avec les services en vedette comme $Add->Loader , REST API , SharedLayouts , Middlewares et concepts de sécurité prédéfinis. Tout dans Simplist est aussi simple que de l'installer sur votre serveur!
Téléchargez-le à partir de ce référentiel:
composer create-project miladxandi/simplist
N'oubliez pas que votre version PHP doit être supérieure à 7 et que l'adresse de la demande locale doit être définie:
public_html /
Après cela, vous devez définir le nom d'utilisateur et le tableau de votre base de données! Dans un projet local pour la première utilisation, ces valeurs devraient être comme ceci:
Tableau: Simplist_simplist
Nom d'utilisateur: racine
Mot de passe: vide (sans valeur ou une chaîne vide)
Vous pouvez modifier ces valeurs en allant de la couche modéliser et les modifier dans Connection.phtml dans le dossier Core / Configurations, ou accéder à cette adresse:
Noyau / configurations / connexion.phtml
Remarque: Il existe un fichier de table SQL dans le dossier "Ressources" que vous pouvez facilement l'importer dans votre base de données MySQL locale ou en ligne
Jusqu'à ce que vous travailliez sur un répertoire de travail local, le protocole HTTPS est désactivé, mais si vous souhaitez le télécharger sur votre serveur, le protocole HTTPS peut être activé en créant le true "SecureProtocol" dans le dossier Core, dans le dossier Configurations, vous pouvez trouver un fichier de routage, ou accéder à cette adresse: dans le dossier de configurations, ou allez sur cette adresse:
Noyau / configurations / routing.phtml
Vous pouvez modifier le $SecureProtocol = false; à $SecureProtocol = true;
Il est complètement installé et prêt à l'emploi.
Pour définir vos propres itinéraires, accédez à cette adresse:
Itinéraire / setting / routes.phtml
Il y a juste un retourneur de tableau qui renvoie l'URL en tant que clé de tableau et configurations comme valeurs. Chaque nouvel itinéraire doit créer exactement à partir de ce modèle:
'/aboutus' => [
'target'=>'Main.Home.Aboutus',
'get'=> true,
'post'=> false,
'middleware'=>'Main.Home.Aboutus'
'important'=>false
],
Permettez-moi de le décrire ligne par ligne:
'/aboutus'
Il s'agit d'une adresse Web qui traitera l'adresse demandée par les contrôleurs et les moyennes intermédiaires et est la clé d'un tableau. Remarque: Notre système de routeurs n'est pas sensible à la casse, mais vous devez définir des itinéraires minuscules.
'target'=>'Main.Home.Aboutus'
Cela signifie que le contrôleur cible est "HomeController" dans le dossier "principal" du dossier des contrôleurs et après avoir demandé cette adresse "à peu près", la méthode sera appelée comme elle l'a écrit à la fin de
'target'=>'Main.Home.Aboutus'Controller. Vous pouvez également traiter sur uneQuerry Stringen l'obtenant, dans ses paramètres de fonction. Vous pouvez également faire une demande de base de données dans les fichiers de contrôleur. LaQuerry Stringou la base de données donnée doit être insérée dans un tableau avec$ViewbagName. Vous pouvez les envoyer dans votre page Web par ce code:View::Process("Main.Home.Post",$Viewbag);Il est désormais accessible à partir du fichier "Affichage" demandé dans "public_html / visual / ...". Au lieu d'écrire vos codes logiques dans les contrôleurs, nous vous encourageons à les mettre dans le dossier "logique" dans le dossier Modèle. Il existe de grands contrats dans ce dossier pour vous aider à développer votre entreprise mieux que jamais.
Remarque: les contrôleurs et les middlewares doivent créer avec exactement Controller.phtml ou Middleware.phtml , mais doivent être écrits ici sans ces extensions. Par exemple, nous avons "HomeController" mais nous pouvons y accéder en écrivant juste son nom sans le mot "contrôleur": "Accueil"
'get'=> true ou 'post'=> false
Ce sont les méthodes de demande générale du serveur que nous pouvons définir ici. Si vous souhaitez refuser une demande de poste, il vous suffit de modifier la valeur
postenfalse. Ensuite, vous pouvez voir que chaque demande avec la méthode de la demandePOSTvous affichera une erreur "Méthode de demande non autorisée".
'middleware'=>'Main.Home.Aboutus'
Lorsqu'il n'y avait pas de conflit avec l'URL demandée et sa méthode de demande définie, avant de lancer les contrôleurs, nous avons des middleware pour faire des validations. Il peut utiliser pour vérifier les cookies de sécurité ou les options de langue du site Web, etc. Chaque middleware doit retourner
truedans sa clé "Status" pour réussir son examen. Middlewares peut également traiter sur uneQuerry Stringen l'obtenant, dans leurs paramètres de fonction. Tout comme les contrôleurs, nous avons besoin de leur nom pur sans le mot "middleware".
'important'=>false
Comme vous le lisez précédemment, notre système n'est pas sensible à la casse par défaut, mais parfois vous devez traiter sur une URL sensible à la casse pour valider certains jetons et des données sensibles ou toute autre raison. Vous pouvez modifier cette règle de notre système de routage en utilisant
'important'=>trueou le désactiver par'important'=>false. Remarque: Cette clé du tableau de routage n'est pas requise.
Pour définir vos propres itinéraires, accédez à cette adresse:
Itinéraire / réglage / api.phtml
Il y a juste un retourneur de tableau qui renvoie l'URL en tant que clé de tableau et configurations comme valeurs. Chaque nouvel itinéraire doit créer exactement à partir de ce modèle:
'/api' => [
'target' => 'Api.Home.Index',
'allowed'=> 'get',
'blocked'=> 'DELETE',
'middleware'=>'Main.Home.Index',
'important'=>false
]
Permettez-moi de le décrire ligne par ligne:
'/api'
Il s'agit d'une adresse Web pour appeler l'API et traitera le service demandé par les contrôleurs et les moyens de Middlewares et est la clé d'un tableau. Remarque: Notre système de routeurs n'est pas sensible à la casse, mais vous devez définir des itinéraires minuscules.
'target' => 'Api.Home.Index'
Cela signifie que le contrôleur cible est "HomeController" dans le dossier "API" du dossier des contrôleurs et après avoir demandé à cette adresse "l'index" sera appelé comme il l'a écrit à la fin du contrôleur
'target' => 'Api.Home.Index'Controller. Vous pouvez également traiter sur uneQuerry Stringen l'obtenant, dans ses paramètres de fonction. Vous pouvez également faire une demande de base de données dans les fichiers de contrôleur. Au lieu d'écrire vos codes logiques dans les contrôleurs, nous vous encourageons à les mettre dans le dossier "logique" dans le dossier Modèle. Il existe de grands contrats dans ce dossier pour vous aider à développer votre entreprise mieux que jamais.
Remarque: les contrôleurs et les middlewares doivent créer avec exactement Controller.phtml ou Middleware.phtml , mais doivent être écrits ici sans ces extensions. Par exemple, nous avons "HomeController" mais nous pouvons y accéder en écrivant juste son nom sans le mot "contrôleur": "Accueil"
'allowed'=> 'get' ou 'blocked'=> 'DELETE'
Si vous souhaitez laisser votre application travailler un verbe HTTP, vous pouvez le définir ici et les séparer avec une virgule pour laisser votre API utiliser ces méthodes. Par exemple, nous voulons que notre application interagisse avec notre serveur avec
POSTetGETMethods; Nous devons donc les définir tous les deux ici comme ceci:
'allowed'=> 'get,post'
Ensuite, nous voulons restreindre certains verbes HTTP de la demande à notre serveur, nous devons les écrire dans la partie
blockedde cette section:
'blocked'=> 'DELETE'
Nous pouvons en écrire autant que les verbes que nous voulons dans ces sections.
'middleware'=>'Main.Home.Aboutus'
Lorsqu'il n'y avait pas de conflit avec l'URL demandée et sa méthode de demande définie, avant de lancer les contrôleurs, nous avons des middleware pour faire des validations. Il peut utiliser pour vérifier les cookies de sécurité ou les options de langue du site Web, etc. Chaque middleware doit retourner
truedans sa clé "Status" pour réussir son examen. Middlewares peut également traiter sur uneQuerry Stringen l'obtenant, dans leurs paramètres de fonction. Tout comme les contrôleurs, nous avons besoin de leur nom pur sans le mot "middleware".
'important'=>false
Comme vous le lisez précédemment, notre système n'est pas sensible à la casse par défaut, mais parfois vous devez traiter sur une URL sensible à la casse pour valider certains jetons et des données sensibles ou toute autre raison. Vous pouvez modifier cette règle de notre système de routage en utilisant
'important'=>trueou le désactiver par'important'=>false. Remarque: Cette clé du tableau de routage n'est pas requise.
La bibliothèque oLoad est un service simpliste et définie pour aider votre section HTML head à être plus propre. Si vous devez utiliser cette bibliothèque, vous devez d'abord utiliser ce code dans votre fichier de vue:
<?php $Add = new CoreRequirementoLoad("../../..","Style/Main","Script/Main","Content/Main"); ?>
Dans ce code, vous pouvez définir différents emplacements pour vos JS, CSS, images et etc. Comme nous vous laissons personnaliser votre application, le ../../.. vous montrera la racine par défaut de ces contenus, mais vous pouvez le modifier dans chaque page que vous le créez.
Ce code peut importer des bibliothèques ou des images JS ou CSS externes.
En outre, il peut ajouter des types uniques de fichiers à votre projet.
Ceci est un code complet pour montrer comment pouvez-vous afficher une image sur votre HTML:
<?php $Add->Loader("png","eastCloud","Shared",true,false,"eastCloud",24,24,"Style","Class"); ?>
Ce code signifie:
<?php $Add->Loader(Extension: "png",Name: "eastCloud",UniqueUrl: "Shared",Local: true,UniqueType: false,ImageAlt: "eastCloud",ImageWidth: 24,ImageHeight: 24,ImageStyle: "Style",ImageClass: "Class"); ?>
Et créera une balise <img> complète partout où il a utilisé.
Vous pouvez ajouter des bibliothèques JS et CSS comme celle-ci; Mais sauf tout après l'argument Local dans cette méthode et leurs propres extensions comme ceci:
<?php $Add->Loader("css","Style",null,true); ?>
<?php $Add->Loader("js","Script",null,true); ?>
L'argument UniqueUrl vous permet de définir des bibliothèques ou des images internes ou externes. S'il n'est pas nécessaire de définir UniqueUrl , laissez simplement une double citation vide ( "" ) ou passer null comme argument. Il est nul par défaut.
L'argument Local signifie que la bibliothèque ou l'image est un fichier local ou non, le système utilisera la racine par défaut avec l'argument donné pour trouver ce fichier si le Local était true .
L'argument UniqueType doit être true si l'extension était tout sauf JS, CSS, PNG, JPEG, JPG et ICO. C'est false par défaut.
L'extension js créera <script src="../../../Script/Main/main.js"></script> code partout où vous l'appelez. L'extension css créera complete <link rel="stylesheet" type="text/css" href="../../../Style/Shared/File.css"> code partout où vous l'appelez.
SharedLayouts est le nom d'un service simpliste qui se trouve dans le dossier partagé dans le dossier de vue ( public_html/View/Shared ).
Il contient 2 dossiers et un fichier .phtml avec le nom "Layouts" par défaut. Le fichier de dispositions peut contenir une ou plusieurs classes pour chaque partie du projet. Par exemple, il y a une classe comme ceci:
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"; } }
Il comprend certaines méthodes pour charger d'autres fichiers de vue comme en-tête, menu et pied de page. Il n'y a pas de concept complexe.
Nous avons mis des fichiers de marque avec des extensions ".md" comme fichiers de guide détaillés. Nous vous suggérons fortement de télécharger et d'installer une visionneuse Mark Down pour que votre Brower affiche ces fichiers avec une meilleure expérience.