Simple est un projet qui rassemble un ensemble de paquets pour travailler avec PHP rapidement et au minimum. Moins c'est plus!
Pour commencer à utiliser celui simple, vous pouvez utiliser la commande:
$ composer create-project phpzm/simplesou faire une copie du référentiel White Master
$ git clone https://github.com/phpzm/simples.git < dir >
$ cd < dir >
$ rm .git
$ composer installVous avez maintenant déjà téléchargé une architecture de base, et vous devez configurer certains détails pour sortir en utilisant des fonctionnalités de base HAPPEL pour un site Web ou un système PHP.
Les deux paramètres mis à disposition comme la base que nous mentionnerons ci-dessous sont dirigés vers la même URL: http://localhost:8080 Avant de démarrer l'un des modes de serveur, faites une copie du fichier d'exemple .env disponible avec le projet
$ composer run env:initCrée une copie de l'exemple de fichier qui est mis à disposition avec le projet
$ composer run docker:initEnsuite, vous pouvez utiliser la commande utilisée pour exécuter les conteneurs ou utiliser
$ composer run docker:serve --timeout=0Pour utiliser le serveur de développement fourni avec PHP, utilisez les commandes ci-dessous
$ composer run php:serve --timeout=0 Tout s'est bien passé, lorsque vous accédez à l'URL http://localhost:8080 vous verrez déjà notre page de présentation par défaut
D'accord, l'URL qui devrait fonctionner est OK, mais faisons un aperçu de ce qui s'est passé pour qu'elle coure.
Dans ce dossier, vous trouverez le seul point d'entrée pour les demandes de votre application. Lors de l'ouverture du fichier index.php qui a à l'intérieur, nous trouvons la première interaction avec les fichiers simples. En plus du fichier PHP, il existe également des fichiers que nous appelons généralement assets . Ce sont les images, les fichiers de style et les fonctionnalités utilisées pour améliorer la visualisation des ressources d'application. Ce dossier sera utilisé pour laisser des documents exposés accessibles par quiconque.
Ce répertoire contient une liste de fichiers PHP qui est utilisée pour configurer les comportements d'application. Tout en jetant un œil à ces fichiers, vous verrez qu'il existe une fonction appelée env utilisée pour définir certaines propriétés. Cette fonction récupère les valeurs définies dans le .env .
Enfin, nous sommes arrivés là où la fête se produit. Simples est livré avec les bons paramètres pour utiliser ce répertoire pour consulter les documents que vous allez créer. Comme vous pouvez faire beaucoup, nous divisons tout en parties.
Il abrite indirectement les documents liés à la composition des ressources. Il est initialement configuré avec 3 répertoires (e-mail, lieux, vue), mais vous pouvez le développer à l'aise. Vous pouvez voir dans le fichier config/app.php une instruction de configuration similaire à celle ci-dessous. Sur la base de l'exemple, nous pouvons utiliser Helper config('app.resources.root') que la valeur app/resources sera renvoyée et c'est ainsi que la simplicité localise les fonctionnalités qu'il utilise.
[config/app.php]
<?php
( . . . )
' resources ' => [
' root ' => ' app/resources ' ,
]
(...) Nous en verrons plus sur cette partie des views et leur utilisation de la section modèle.
Il s'agit d'un chemin suggéré pour utiliser les itinéraires. Il est décrit dans config/route.php où vous pouvez saisir un tableau de fichiers qui sera initialisé pour composer les itinéraires d'application.
[config/route.php]
<?php
( . . . )
' files ' => [
' app/routes/index.php '
]
(...) Par conséquent, lorsqu'une demande HTTP est envoyée à public/index.php elle commencera à rechercher des itinéraires dans le fichier app/routes/index.php . Plus tard, dans la section de la création d'itinéraire, nous verrons comment créer des itinéraires de manière organisée en utilisant le simple.
Ce dossier est directement lié au Composer autoloader via la configuration sur composer.json
[composer.json]
(...)
"autoload": {
"psr-4": {
"App\": "app/src/"
}
}
(...)
C'est-à-dire que lepace standard que vous utiliserez est l' App et le fichier doit être dans le dossier décrit ci-dessus. De toute évidence, vous pouvez modifier cela. Notez qu'à l'aide de la convention PSR-4 lorsque vous créez un document avec namespace approprié, vous pouvez l'utiliser de manière transparente. Nous allons entrer plus en détail à ce sujet dans la section de composition structurelle.
Pour indiquer un chemin initial, nous suggérons ce dossier appelé storage à la racine du projet pour maintenir des documents qui ne peuvent pas être ouverts à l'accès public.
Le dossier vendor est automatiquement créé par le Composer . Il a les dépendances que votre projet utilisera et des paramètres de chargement de fichiers. Il est par défaut configuré dans le fichier .gitignore à ignorer par Git
La configuration dont la première route (ou les premières routes) sera appelée est par défaut dans app/config/route.php .
Les paramètres d'accès aux ressources d'application peuvent être effectués dans les fichiers d'itinéraire. Les commandes peuvent être écrites directement sur le fichier du fichier (où une variable de routeur $ sera disponible pour des raisons de portée) ou en utilisant le retour des fermetures qui reçoivent le routeur $ comme paramètre.
Routes simples
return function ( $ router ) {
$ router -> on ( ' GET ' , ' / ' , function () {
return ' Hello World! ' ;
});
}Routes dynamiques
return function ( $ router ) {
$ router -> get ( ' /:controller/:method ' , function ( $ controller , $ method ) {
return ' Hello World! ' ;
});
}Groupes de rota
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 ' );
}Itinéraires avec l'interaction avec le contrôleur
return function ( $ router ) {
$ router -> post ( ' /client/save ' , ' NamespaceClientController@save ' );
$ router -> resource ( ' client ' , ' NamespaceClientController ' );
} Un $router->resource créera:
| Verbe | Chemin | Action | Nom de route |
|---|---|---|---|
| Obtenir | /route | indice | Itinéraire |
| Obtenir | /route/create | Créer | Itinéraire |
| Obtenir | /route/{id} | montrer | Itinéraire |
| Obtenir | /route/{id}/edit | modifier | Itinéraire |
| Poste | /route | stère | Store |
| Mettre / patch | /route/{id} | mise à jour | Itinéraire. |
| Supprimer | /route/{id} | détruire | Itinéraire.Destroy |