Yaravel est un framework PHP MVC petit mais robuste qui peut être utilisé à la fois pour le rendu HTML et comme API. Il comprend un système de requête et de routage, un moteur d'affichage prenant en charge les feuilles de style et javascript, ainsi qu'un ORM appelé Helloquent pour la communication avec la base de données. Yaravel est conçu pour être rapide, efficace et flexible, ce qui en fait un choix idéal pour les développeurs cherchant à créer des applications Web avec PHP.
Tweeter est une application de type Twitter construite à l'aide d'une première version de ce framework. Elle permet aux utilisateurs de publier des messages courts, appelés « tweets », et d'interagir avec les autres via des likes et en consultant leurs tweets. L'application propose un flux en temps réel des tweets récents des utilisateurs.
(consultez-le en direct ou sur le dépôt de cette application)
Vos routes d'application peuvent être enregistrées dans le dossier "/routes" . Les routes API doivent être placées dans le fichier "api.php" et les pages Web dans le fichier "web.php" .
Pour enregistrer une route Web, utilisez la fonction addRoute sur l'objet routeur. La fonction prend les paramètres suivants :
// $router->addRoute(path, controller path, action);
$ router -> addRoute ( " / " , DefaultController::class, " viewDefault " );
Reportez-vous aux exemples dans "/routes/web.php" pour plus d'informations.
Pour enregistrer une route API, utilisez la fonction api sur l'objet routeur. La fonction prend les paramètres suivants :
// $router->addRoute(path, controller path, method);
$ router -> api ( " / " , DefaultController::class);
$ router -> api ( " / " , DefaultController::class, " post " );
Reportez-vous aux exemples dans "/routes/api.php" pour plus d'informations.
L'objet $this->request est inclus dans les contrôleurs et est une instance de la classe HttpRequest . Il contient toutes les données de la demande. L'objet possède plusieurs propriétés, notamment :
La classe HttpResponse est utilisée pour répondre aux appels API. Il possède une fonction statique appelée répondre qui a deux paramètres :
MVC (Model-View-Controller) est un modèle de conception logicielle qui sépare une application en trois composants principaux
Le composant Modèle du framework est responsable de la gestion des données et de la logique métier, ainsi que de la communication avec la base de données. Cela se fait grâce à l'utilisation de Helloquent, un outil ORM spécialement conçu pour le framework. Pour plus de détails, reportez-vous à la documentation Helloquent sur ce lien https://github.com/you97ssef/Helloquent.
Les modèles doivent être stockés dans le répertoire /app/Models
et doivent étendre la classe Model
(comme démontré par la classe Person
dans le code).
Le composant View contient des fonctions qui renvoient du HTML mélangé à des données à afficher à l'utilisateur. Les données utilisées peuvent être transmises depuis le contrôleur et sont accessibles via l'attribut $this->data
(array). Les vues doivent être stockées dans le répertoire /app/views
et doivent étendre la classe View
(comme démontré par les classes DefaultView
ou ErrorView
dans le code).
Texte révisé : le composant Contrôleur gère les entrées de l'utilisateur et met à jour le modèle et la vue en conséquence. Les contrôleurs doivent être stockés dans le répertoire /app/Controllers
et doivent étendre la classe Controller
. Il possède une propriété $this->request
qui contient les données de la requête entrante. Pour répondre en tant que page Web, une vue doit être définie et la fonction render
de cette vue doit être appelée, telle que $view->render("renderBody")
. Pour répondre à un appel API, la fonction respond
de la classe HttpResponse
doit être utilisée, par exemple HttpResponse::respond($data)
. Voir DefaultController
pour un exemple.
L'application démarre avec le fichier index.php. Tout d'abord, la requête est construite, suivie de l'enregistrement du CSS et du JS. Ensuite, la configuration de l'application et la configuration de la base de données sont initialisées, puis le routeur est configuré. Enfin, l'application est exécutée en appelant $router->run();
(voir le fichier index.php pour plus d'informations)
Ce framework est sous licence MIT, qui est une licence open source permissive qui permet l'utilisation, la modification et la distribution du logiciel. La licence MIT permet un haut degré de flexibilité dans la manière dont le logiciel peut être utilisé et intègre un ensemble minimal de restrictions.