Maison > cadre php > Laravel > laravel ne comprend pas le code source du framework

laravel ne comprend pas le code source du framework

PHPz
Libérer: 2023-05-20 15:03:08
original
559 Les gens l'ont consulté

Laravel est un framework PHP populaire, mais pour de nombreux débutants, lire le code source du framework est très difficile. Cet article tentera d'expliquer la structure du code et les éléments clés de Laravel pour aider les lecteurs à mieux comprendre ce cadre.

Structure du code de Laravel

La structure du code de Laravel est très claire. L'ensemble du framework est décomposé en plusieurs modules indépendants, chaque module a ses responsabilités et fonctions spécifiques. Cette structure rend Laravel plus facile à maintenir et à développer. Voici une explication des principaux répertoires et fichiers de Laravel :

  1. app
    Ce répertoire contient le code principal de l'application Laravel. Ses principaux éléments de base sont les contrôleurs, les vues, les modèles et les routes.
  2. bootstrap
    Ce répertoire contient le code qui est exécuté au démarrage de l'application Laravel. Si vous connaissez le framework PHP, alors ce répertoire vous sera familier, comme le chargement automatique des classes, le chargement des fichiers de configuration, etc.
  3. config
    Ce répertoire contient les fichiers de configuration de l'application.
  4. database
    Ce répertoire contient les fichiers de migration de base de données et de remplissage de données.
  5. public
    Ce répertoire contient le point d'accès public de l'application. Le point d'entrée de l'application est le fichier index.php.
  6. resources
    Ce répertoire contient certains actifs pour une application spécifique (tels que des fichiers de configuration, des vues, des fichiers de langue, des fichiers JavaScript et des fichiers CSS).
  7. routes
    Ce répertoire contient les fichiers de routage de l'application, c'est-à-dire le mappage des URL aux contrôleurs.
  8. storage
    Ce répertoire contient certains fichiers générés par Laravel, tels que les fichiers journaux, les caches générés par le framework, les fichiers générés par le framework, tels que les caches de routes et les vues générées par le framework.
  9. tests
    Ce répertoire contient le dossier test pour tester l'application.
  10. vendor
    Ce répertoire contient le code des packages dépendants. Le framework Laravel s'appuie sur certains packages auto-développés et d'autres packages.

Quelques codes clés de Laravel

Dans la structure du code de Laravel, nous nous concentrons sur le code dans le dossier app. app 文件夹中的代码。

控制器

控制器是 Laravel 的主要部分,用于响应应用程序中的 HTTP 请求。在 app/Http/Controllers 文件夹中将会看到所有的控制器类。下面是一个示例控制器:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppUser;
use AppHttpControllersController;

class UserController extends Controller
{
    /**
     * 显示指定用户的个人资料
     *
     * @param  int  $id
     * @return Response
     */
    public function show($id)
    {
        return view('user.profile', ['user' => User::findOrFail($id)]);
    }
}
Copier après la connexion

在控制器中,我们可以定义不同的方法来解决不同的情况,如 $id 参数就可以通过 show() 方法来处理,该方法将返回视图和用户的 ID。

模型

模型是 Laravel 中处理数据库的一种方法,是与数据库表相关联的 PHP 类。在 app 文件夹中,app/Models 文件夹中存放着各种模型,如下面的示例 User 模型:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    /**
     * 模型的默认属性值。
     *
     * @var array
     */
    protected $attributes = [
        'can_send_email' => false,
    ];
}
Copier après la connexion

在模型中,我们可以定义不同的属性和方法来实现对数据库表的操作,比如 $attributes 属性可以设置模型的默认属性值,可以像下面这样获取一个 User 模型:

$user = AppModelsUser::find($id);
Copier après la connexion

视图

视图是用于向用户可读的方式呈现数据和信息的一种方法。在 resources/views 文件夹下可以看到所有的视图文件。视图通常包含 HTML、CSS 和 JavaScript 代码。

下面是一个简单的 Blade 模板示例:

<!doctype html>
<html>
    <head>
        <title>Laravel</title>
    </head>
    <body>
        <div class="container">
            @yield('content')
        </div>
    </body>
</html>
Copier après la connexion

在该示例模板中,我们可以定义标题和一个容器来嵌套页面内容,并通过 @yield('content') 来插入内容。

路由

路由用于将 URL 和应用程序中的代码相匹配,对应 Laravel 中的路由文件可以在 routes/web.php 中找到。下面是一个示例路由:

<?php

use IlluminateSupportFacadesRoute;
use AppHttpControllersUserController;

Route::get('/user/{id}', [UserController::class, 'show']);
Copier après la connexion

在该示例路由中,我们为用户请求创建了一个 URL 模式,将在 UserController::show() 方法中处理所有的请求。

总结

Laravel 的代码结构和核心部分主要集中在 app

Contrôleurs🎜🎜Les contrôleurs constituent la partie principale de Laravel et sont utilisés pour répondre aux requêtes HTTP dans votre application. Vous verrez toutes les classes de contrôleurs dans le dossier app/Http/Controllers. Voici un exemple de contrôleur : 🎜rrreee🎜Dans le contrôleur, nous pouvons définir différentes méthodes pour résoudre différentes situations, telles que le paramètre $id peut être transmis à show() méthode, qui renverra l’ID de la vue et de l’utilisateur. 🎜🎜Model🎜🎜Model est une façon de gérer les bases de données dans Laravel. Il s'agit d'une classe PHP associée à une table de base de données. Dans le dossier app, le dossier app/Models stocke différents modèles, comme l'exemple suivant de modèle utilisateur : 🎜rrreee🎜Dans le modèle, nous pouvons définir différents attributs et méthodes pour implémenter des opérations sur les tables de la base de données. Par exemple, l'attribut $attributes peut définir la valeur d'attribut par défaut du modèle. Vous pouvez obtenir un modèle utilisateur comme suit : 🎜rrreee🎜View🎜🎜View est utilisé pour. Une méthode de présentation des données et des informations d'une manière lisible par les utilisateurs. Tous les fichiers de vue peuvent être vus dans le dossier resources/views. Les vues contiennent généralement du code HTML, CSS et JavaScript. 🎜🎜Voici un exemple simple de modèle Blade : 🎜rrreee🎜Dans cet exemple de modèle, nous pouvons définir un titre et un conteneur pour imbriquer le contenu de la page, et passer @yield('content') Insérer du contenu . 🎜🎜Routing🎜🎜Routing est utilisé pour faire correspondre l'URL avec le code dans l'application. Le fichier de routage correspondant dans Laravel se trouve dans routes/web.php. Voici un exemple de route : 🎜rrreee🎜 Dans cet exemple de route, nous avons créé un modèle d'URL pour les requêtes des utilisateurs et toutes les requêtes seront traitées dans la méthode UserController::show(). 🎜🎜Résumé🎜🎜La structure du code et les parties principales de Laravel sont principalement concentrées dans le dossier app. Les contrôleurs, les modèles, les vues et le routage sont les quatre parties très importantes de Laravel. Tant que vous apprenez comment ces parties sont implémentées dans le code, vous pourrez mieux comprendre le fonctionnement de Laravel. Bien entendu, les développeurs de Laravel ajoutent constamment de nouvelles fonctionnalités à ces parties, de sorte que le processus d'apprentissage de Laravel est également en cours. 🎜

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal