Maison cadre php YII Laravel MVC: échantillons de code réels

Laravel MVC: échantillons de code réels

Jul 03, 2025 am 12:35 AM
laravel mvc

L'architecture MVC de Laravel se compose d'un modèle, d'une vue et d'un contrôleur, qui sont responsables de la logique de données, de l'interface utilisateur et du traitement de la demande respectivement. 1) Créez un modèle utilisateur pour définir les structures et les relations de données. 2) UserController traite les demandes des utilisateurs, y compris la liste, l'affichage et la création d'utilisateurs. 3) La vue utilise le modèle de lame pour afficher les données utilisateur. Cette architecture améliore la clarté du code et la maintenabilité.

Laravel MVC: échantillons de code réels

Laravel MVC: exemple de code pratique

Dans le développement Web moderne, le cadre Laravel est très favorisé par les développeurs pour sa syntaxe élégante et ses fonctions puissantes. Alors, qu'est-ce que l'architecture MVC de Laravel? Comment cela fonctionne-t-il dans un vrai projet? Plongeons-y en profondeur avec quelques exemples de code pratiques.

L'architecture MVC de Laravel, à savoir le modèle (modèle), la vue (vue) et le contrôleur, est la base de la création d'applications Web. Le modèle est responsable des données et de la logique métier, la vue est responsable de l'interface utilisateur et le contrôleur agit comme un pont entre les deux, les demandes de traitement et les réponses. Les avantages de cette architecture sont évidents: le code est plus clair, plus facile à entretenir et plus facile à travailler.

Commençons par un simple système de gestion des utilisateurs pour démontrer l'application de Laravel MVC dans des projets réels.

Tout d'abord, nous créons un modèle d'utilisateur. Le modèle définit la structure des données et la logique interactive avec la base de données.

 // app / modèles / user.php

Namespace App \ Modèles;

Utiliser illuminate \ database \ eloquent \ modèle;

L'utilisateur de classe étend le modèle
{
    protégé $ fillable = ['name', 'e-mail', 'mot de passe'];

    Postes de fonction publique ()
    {
        retourner $ this-> hasmany (post :: class);
    }
}

Ce modèle d'utilisateur définit les propriétés de base de l'utilisateur et définit une relation un-à-plusieurs avec le modèle de post via la méthode posts .

Ensuite, nous créons un UserController pour gérer les demandes liées à l'utilisateur.

 // app / http / contrôlers / userController.php

Namespace App \ Http \ Controllers;

Utilisez App \ Models \ User;
Utiliser illuminate \ http \ request;

Class UserController étend le contrôleur
{
    Index de fonction publique ()
    {
        $ utilisateurs = utilisateur :: all ();
        return View ('Users.Index', Compact ('Users'));
    }

    Fonction publique Show (utilisateur de l'utilisateur)
    {
        return View ('users.show', compact ('utilisateur'));
    }

    Magasin de fonctions publiques (demande $ demande)
    {
        $ validedData = $ request-> valider ([
            'name' => 'requis',
            'e-mail' => 'requis | e-mail | Unique: utilisateurs',
            'mot de passe' => 'requis | min: 8',
        ]));

        $ user = user :: create ($ validedData);

        return redirect () -> Route ('Users.show', $ utilisateur) -> avec ('Success', 'utilisateur créé avec succès.');
    }
}

UserController définit trois méthodes: index est utilisé pour répertorier tous les utilisateurs, show est utilisé pour afficher les détails d'un seul utilisateur, et store est utilisé pour créer de nouveaux utilisateurs.

Enfin, nous créons une vue pour afficher les données.

 <! - Ressources / vues / utilisateurs / index.blade.php ->

@ExtendS (&#39;Layouts.App&#39;)

@Section (&#39;Content&#39;)
    <h1> utilisateurs </h1>
    <ul>
        @Foreach ($ utilisateurs en tant qu&#39;utilisateur)
            <li> <a href = "{{Route (&#39;users.show&#39;, $ user)}}"> {{$ user-> name}} </a> </li>
        @endforeach
    </ul>
@ensection

<! - Ressources / vues / utilisateurs / show.blade.php ->

@ExtendS (&#39;Layouts.App&#39;)

@Section (&#39;Content&#39;)
    <h1> {{$ user-> name}} </h1>
    <p> Email: {{$ user-> e-mail}} </p>
@ensection

Ces vues utilisent le moteur du modèle de lame, affichant la liste d'utilisateurs et les détails individuels de l'utilisateur.

Dans les projets réels, les avantages de l'architecture Laravel MVC se reflètent non seulement dans la clarté du code, mais aussi dans sa flexibilité et son évolutivité. Par exemple, nous pouvons facilement ajouter de nouveaux modèles, contrôleurs et vues pour étendre les fonctionnalités du système sans avoir à modifier considérablement le code existant.

Cependant, il y a certaines choses à connaître lors de l'utilisation de Laravel MVC. Par exemple, définir trop de logique métier dans un modèle peut faire gonfler le modèle, affectant la maintenabilité du code. Par conséquent, il est recommandé d'extraire une logique métier complexe dans la classe de service pour garder le modèle concis.

En outre, la responsabilité du contrôleur devrait être de gérer les demandes et les réponses, plutôt que de gérer la logique commerciale complexe. La dépendance excessive sur le contrôleur pour le traitement commercial peut rendre le contrôleur difficile à gérer. Par conséquent, il est recommandé de déplacer une logique commerciale complexe dans la classe de service, afin que le contrôleur ne soit responsable que l'organisation de la distribution des demandes et de la réponse.

En termes d'optimisation des performances, Laravel fournit un ORM éloquent, ce qui rend les opérations de base de données très simples et intuitives. Cependant, une utilisation excessive d'éloquente peut entraîner des problèmes de performance. Par exemple, trop with des appels de méthode peuvent causer des problèmes de requête N1. Par conséquent, dans les projets réels, il est nécessaire de choisir la méthode de requête appropriée en fonction de la situation spécifique pour éviter les goulots d'étranglement de performance.

En bref, l'architecture MVC de Laravel offre aux développeurs un cadre puissant et flexible, et grâce à une conception et une pratique raisonnables, des applications Web efficaces et maintenables peuvent être construites. J'espère que grâce à ces exemples de code pratiques, vous pouvez mieux comprendre et appliquer l'architecture Laravel MVC.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Porce de variable PHP expliquée
1 Il y a quelques mois By 百草
Commentant le code en php
4 Il y a quelques semaines By 百草
Conseils pour écrire des commentaires PHP
4 Il y a quelques semaines By 百草
<🎜>: Grow A Garden - Guide complet des marchands itinérants
3 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1510
276
Qu'est-ce que la mise en cache de configuration à Laravel? Qu'est-ce que la mise en cache de configuration à Laravel? Jul 27, 2025 am 03:54 AM

Le cache de configuration de Laravel améliore les performances en fusionnant tous les fichiers de configuration dans un seul fichier de cache. L'activation du cache de configuration dans un environnement de production peut réduire les opérations d'E / S et l'analyse de fichiers sur chaque demande, accélérant ainsi le chargement de configuration; 1. Il doit être activé lorsque l'application est déployée, la configuration est stable et aucune modification fréquente n'est requise; 2. Après l'activation, modifiez la configuration, vous devez ré-paraître phpartisanconfig: cache pour prendre effet; 3. Évitez d'utiliser une logique dynamique ou des fermetures qui dépendent des conditions d'exécution dans le fichier de configuration; 4. Lors du dépannage des problèmes, vous devez d'abord effacer le cache, vérifiez les variables .env et re-cache.

Comment implémenter un système de référence à Laravel? Comment implémenter un système de référence à Laravel? Aug 02, 2025 am 06:55 AM

Créer un tableau de références pour enregistrer les relations de recommandation, y compris les références, les références, les codes de recommandation et le temps d'utilisation; 2. Définir l'appartenance et les relations HasMany dans le modèle d'utilisateur pour gérer les données de recommandation; 3. Générer un code de recommandation unique lors de l'enregistrement (peut être implémenté via des événements modèles); 4. Capturez le code de recommandation en interrogeant les paramètres lors de l'enregistrement, établissez une relation de recommandation après vérification et empêchez l'auto-recommandation; 5. Déclencher le mécanisme de récompense lorsque les utilisateurs recommandés terminent le comportement spécifié (ordre d'abonnement); 6. Générer des liens de recommandation partageables et utiliser les URL de signature Laravel pour améliorer la sécurité; 7. Afficher les statistiques de recommandation sur le tableau de bord, telles que le nombre total de recommandations et de nombres convertis; Il est nécessaire de s'assurer que les contraintes de base de données, les séances ou les cookies sont persistées,

Comment gérer un projet Laravel? Comment gérer un projet Laravel? Jul 28, 2025 am 04:28 AM

CheckPhp> = 8.1, compositeur, etwebserver; 2.CloneOrCreateProjectAndrunCompoSeRinstall; 3.Copy.env.Exampleto.envandrunphPartisanKey : générer; 4.setDatabaseCredentialSin.envandrunphPartisanMigrate - Seed; 5.StartServerWithPhPartisansEserve; 6. Optionallyrunnpmins

Comment semer une base de données à Laravel? Comment semer une base de données à Laravel? Jul 28, 2025 am 04:23 AM

Créer un fichier de semences: utilisez PhPartisanMake: SeeDerUserSederder pour générer la classe Seeder et insérer des données via la requête Model Factory ou Database dans la méthode d'exécution; 2. Appelez un autre Seeder dans DatabaseSeseder: enregistrez USERSEDEDER, POSTSEEDER, etc. dans l'ordre via $ this-> call () pour s'assurer que la dépendance est correcte; 3. Exécutez Seeder: Exécutez PHPARTISANDB: graines pour exécuter tous les semants enregistrés, ou utilisez du phpartisanMigrate: Fresh - Seed pour réinitialiser et remplir les données; 4

Comment implémenter les indicateurs de fonctionnalité dans une application Laravel? Comment implémenter les indicateurs de fonctionnalité dans une application Laravel? Jul 30, 2025 am 01:45 AM

ChoOSEAFEUREFLAGSTATTECYSUCHASCONFIG, basé sur la base de données, Orthird-PartyToolsLILLFlagsmith.2.SetUpadatabase-DrivensystemByCreatAmamigrationForaFeate_Flagstablewithname, Activé, Andrulesfields, Therunthemigration.3.CreateafateAtteflagModelwithe

Comment construire une API REST avec Laravel? Comment construire une API REST avec Laravel? Jul 30, 2025 am 03:41 AM

Créer un nouveau projet Laravel et démarrer le service; 2. Générez le modèle, la migration et le contrôleur et exécuter la migration; 3. Définissez l'itinéraire RESTful dans les routes / api.php; 4. Implémentez la méthode d'addition, de suppression, de modification et de requête dans Post Controller et renvoyez la réponse JSON; 5. Utilisez Postman ou Curl pour tester la fonction API; 6. Ajouter éventuellement l'authentification de l'API via Sanctum; Enfin, obtenez une structure claire, Laravelrestapi complète et extensible, adaptée aux applications pratiques.

Que sont les contrats de référentiel à Laravel? Que sont les contrats de référentiel à Laravel? Aug 03, 2025 am 12:10 AM

Le modèle de référentiel est un modèle de conception utilisé pour découpler la logique métier à partir de la logique d'accès aux données. 1. Il définit les méthodes d'accès aux données via des interfaces (contrat); 2. Les opérations spécifiques sont implémentées par la classe de référentiel; 3. Le contrôleur utilise l'interface par injection de dépendance et ne contacte pas directement la source de données; 4. Les avantages incluent un code soigné, une testabilité solide, une maintenance facile et une collaboration d'équipe; 5. Applicable aux projets moyens et grands, les petits projets peuvent utiliser directement le modèle.

Qu'est-ce que l'ORM éloquent à Laravel? Qu'est-ce que l'ORM éloquent à Laravel? Jul 29, 2025 am 03:50 AM

Eloquentorm est le système de cartographie relationnel d'objet intégré de Laravel. Il exploite la base de données via la syntaxe PHP au lieu de SQL native, ce qui rend le code plus concis et plus facile à maintenir; 1. Chaque tableau de données correspond à une classe de modèle, et chaque enregistrement existe comme instance de modèle; 2. Adopter le mode d'enregistrement actif et l'instance du modèle peut être enregistrée ou mise à jour par elle-même; 3. Prise en charge de l'affectation par lots et l'attribut à remplissage $ doit être défini dans le modèle pour garantir la sécurité; 4. Fournir un fort soutien relationnel, comme un à un, un-à-plusieurs, plusieurs à plusieurs, etc., et vous pouvez accéder aux données associées via des appels de méthode; 5. Constructeur de requête intégré, où, OrderBy et d'autres méthodes peuvent être appelés enchaînés pour construire des requêtes; 6. Prise en charge des accessoires et des modificateurs, qui peuvent formater le numéro lors de l'obtention ou de la définition d'attributs.

See all articles