Articles

Qu'est-ce que Laravel, comment ça marche et architecture de base pour créer des applications WEB

Laravel est un framework Web basé sur PHP pour créer des applications Web haut de gamme, en utilisant ses syntaxes simples mais puissantes.

Le framework PHP Laravel est livré avec une solide collection d'outils et fournit l'architecture aux applications produites. C'est un framework PHP open source, utilisant l'architecture MVC :

  • Framework: est la collection de méthodes, classes ou fichiers que le programmeur utilise, et peut également étendre leurs fonctionnalités en utilisant son propre code.
  • architecture: est le modèle de conception spécifique suivi par le framework. Laravel suit l'architecture MVC.

MVC

Acronyme composé de trois lettres, la signification est la suivante :

  • M: Modèle. Un modèle est une classe qui traite une base de données. Par exemple, si nous avons des utilisateurs dans une application, nous aurons un modèle d'utilisateurs chargé d'interroger la table des utilisateurs. Si nous avons un modèle d'utilisateurs, nous aurons également une table des utilisateurs.
  • V: Voir. Une vue est une classe qui s'occupe de tout ce que nous pouvons voir sur l'application dans le navigateur.
  • C: Contrôleurs. Un contrôleur est l'intermédiaire qui s'occupe à la fois du modèle et de la vue. Un contrôleur est la classe qui récupère les données du modèle et les envoie à la classe de vue.

Avantages et fonctionnalités

Création de systèmes d'autorisation et d'authentification

Chaque propriétaire d'application Web doit s'assurer que les utilisateurs non autorisés n'accèdent pas aux ressources protégées. Laravel fournit un moyen simple d'implémenter l'authentification. Il fournit également un moyen simple d'organiser la logique d'autorisation et de contrôler l'accès aux ressources.

Intégration avec des outils

Laravel est intégré à de nombreux outils qui créent une application plus rapide. Il est non seulement nécessaire de créer l'application, mais également de créer une application plus rapide. L'intégration avec le backend de mise en cache est l'une des principales étapes pour améliorer les performances d'une application Web. Laravel est intégré à certains backends de mise en cache populaires comme Redis et Memcached.

Intégration du service de messagerie

Laravel est intégré au service de messagerie. Ce service est utilisé pour envoyer des e-mails de notification. Il fournit une API propre et simple qui vous permet d'envoyer rapidement des e-mails via un service sur site ou basé sur le cloud.

Automatisation des tests

Tester un produit est très important pour s'assurer que le logiciel fonctionne sans erreurs, bugs et plantages - chaque fois qu'une nouvelle version est publiée. Nous savons que les tests automatisés prennent moins de temps que les tests manuels, en particulier pour les tests de non-régression. Laravel a également été développé en pensant aux tests.

Séparation du code de logique métier du code de présentation

La séparation du code de logique métier et du code de présentation permet aux concepteurs de mise en page HTML de modifier l'apparence sans interagir avec les développeurs. Un bogue peut être corrigé plus rapidement par les développeurs si une séparation entre le code de logique métier (Controller) et le code de présentation (View) est fournie. Nous savons que Laravel suit l'architecture MVC, la séparation est donc essentielle.

Correction des vulnérabilités techniques les plus courantes

Laravel est un framework sécurisé car il protège l'application Web de toutes les vulnérabilités de sécurité. La vulnérabilité est l'un des aspects les plus importants du développement d'applications Web. L'organisation américaine OWASP Foundation, deficorrige les principales vulnérabilités de sécurité telles que l'injection SQL, la falsification de requêtes, les scripts, etc.

CRON : planification des activités de configuration et de gestion

Les applications WEB nécessitent toujours des mécanismes de planification de tâches pour planifier et exécuter les tâches à temps. Par exemple, quand envoyer des e-mails aux abonnés ou quand nettoyer les tables de la base de données à la fin de la journée. Pour planifier des tâches, les développeurs doivent créer l'entrée Cron pour chaque tâche et le planificateur de commandes Laravel. defimet fin à la planification des commandes.

Création de projet Laravel

Pour créer votre premier projet Laravel, vous devez avoir le Composer installée. S'il n'est pas présent sur votre machine, procédez à son installation comme décrit dans notre article sur Compositeur.

Après cela, créez un nouveau répertoire dans votre système pour votre nouveau projet Laravel. Ensuite, accédez au chemin où vous avez créé le nouveau répertoire et exécutez la commande create project composer create-projecten tapant la commande suivante :

composer create-project laravel/laravel myex-app

Cette commande (version 9.x) crée le projet nommé myex-app

Ou vous pouvez créer de nouveaux projets Laravel installer globalement le programme d'installation de Laravel moyens Composer:

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.
composer global require laravel/installer
laravel new myex-app

Après avoir créé le projet, démarrez le serveur de développement Laravel local à l'aide de la commande serve dell 'Artisan CLI de Laravel:

php artisan serve

Après avoir démarré le serveur de développement Artisan, votre application sera accessible dans votre navigateur Web à l'adresse http://localhost:8000. Maintenant, vous êtes prêt à utiliser Laravel. Bien sûr, vous pouvez également créer une base de données.

Structure de l'application dans Laravel

La structure Laravel est essentiellement la structure des dossiers, sous-dossiers et fichiers inclus dans un projet. Une fois qu'un projet est créé dans Laravel, nous pouvons voir la structure de l'application comme indiqué dans l'image du dossier racine de Laravel :

Config

Le dossier de configuration comprend les configurations et les paramètres associés, qui sont nécessaires au bon fonctionnement d'une application Laravel. Les différents fichiers inclus dans le dossier de configuration sont répertoriés dans l'image ci-dessous. Les noms de fichiers représentent les étendues de configuration.

Base de données

Ce répertoire comprend divers paramètres pour la fonctionnalité de la base de données. Il comprend trois sous-répertoires :

  • Graines : contient les classes utilisées pour la base de données de tests unitaires ;
  • Migrations : ce dossier est utilisé pour la génération et l'alignement de la structure de la BD avec l'application ;
  • Usines : Ce dossier est utilisé pour générer un grand nombre d'enregistrements de données.
public

C'est le dossier racine qui permet d'initialiser l'application Laravel, c'est-à-dire le démarrage de l'application. Inclut les fichiers et dossiers suivants :

  • .htaccess : fichier qui fournit la configuration du serveur ;
  • javascript et css : contiennent tous les fichiers ressources de l'application Laravel ;
  • index.php : fichier nécessaire pour initialiser une application web.
Resources

Le répertoire Resources contient des fichiers qui améliorent l'application Web. Les sous-dossiers inclus dans ce répertoire et leur objectif :

  • actifs : le dossier comprend des fichiers tels que LESS et SCSS, qui sont nécessaires au style de l'application Web ;
  • lang : inclure la configuration pour la localisation ou l'internalisation ;
  • vues : ce sont les fichiers HTML ou les modèles qui interagissent avec les utilisateurs finaux et jouent un rôle principal dans l'architecture MVC.
Stockage

C'est le dossier qui stocke tous les journaux et fichiers nécessaires lorsqu'un projet Laravel est en cours d'exécution. Vous trouverez ci-dessous les sous-dossiers inclus dans ce répertoire et leur objectif -

  • app : ce dossier contient les fichiers appelés successivement ;
  • framework : contient des sessions, des caches et des vues fréquemment appelées ;
  • Journaux : contient des fichiers qui retracent les problèmes d'exécution, en particulier tous les journaux d'exceptions et d'erreurs.
Testes

Tous les cas de tests unitaires sont contenus dans ce répertoire. La dénomination des classes de cas de test est camel_case et suit la convention de dénomination basée sur la fonctionnalité de la classe.

Vendeur

Laravel est basé sur des dépendances gérées Compositeur, par exemple pour installer la configuration de Laravel ou pour inclure des bibliothèques tierces, etc.

Le dossier Vendor contient toutes les dépendances de Compositeur.

Ercole Palmeri

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.

Articles récents

Comment organiser au mieux les données et les formules dans Excel, pour une analyse bien faite

Microsoft Excel est l'outil de référence en matière d'analyse de données, car il propose de nombreuses fonctionnalités pour organiser des ensembles de données,…

14 mai 2024

Conclusion positive pour deux projets importants de Walliance Equity Crowdfunding : Jesolo Wave Island et Milano Via Ravenna

Walliance, SIM et plateforme parmi les leaders en Europe dans le domaine du Crowdfunding Immobilier depuis 2017, annonce la finalisation…

13 mai 2024

Qu'est-ce que le filament et comment utiliser le filament Laravel

Filament est un framework de développement Laravel « accéléré », fournissant plusieurs composants full-stack. Il est conçu pour simplifier le processus de…

13 mai 2024

Sous le contrôle des Intelligences Artificielles

«Je dois revenir pour achever mon évolution : je vais me projeter à l'intérieur de l'ordinateur et devenir une pure énergie. Une fois installé…

10 mai 2024

La nouvelle intelligence artificielle de Google peut modéliser l'ADN, l'ARN et « toutes les molécules de la vie »

Google DeepMind présente une version améliorée de son modèle d'intelligence artificielle. Le nouveau modèle amélioré offre non seulement…

9 mai 2024

Explorer l'architecture modulaire de Laravel

Laravel, célèbre pour sa syntaxe élégante et ses fonctionnalités puissantes, constitue également une base solide pour l'architecture modulaire. Là…

9 mai 2024

Cisco Hypershield et acquisition de Splunk La nouvelle ère de la sécurité commence

Cisco et Splunk aident leurs clients à accélérer leur transition vers le centre d'opérations de sécurité (SOC) du futur avec…

8 mai 2024

Au-delà du côté économique : le coût peu évident des ransomwares

Les ransomwares ont dominé l’actualité ces deux dernières années. La plupart des gens savent bien que les attaques…

6 mai 2024