Maison >développement back-end >tutoriel php >Laravel: Est-ce vraiment propre et chic?

Laravel: Est-ce vraiment propre et chic?

Joseph Gordon-Levitt
Joseph Gordon-Levittoriginal
2025-02-26 10:30:10589parcourir

Laravel: Is It Really Clean and Classy?

Fait des suraltes de clé

  • Laravel, un cadre PHP, priorise le code propre et élégant et aide les développeurs à éviter les structures complexes et complexes. Sa syntaxe expressive simple simplifie la création d'applications. L'architecture Model-View-Controller (MVC) assure une organisation de code efficace.
  • Core Laravel Fonctionnalités telles que les migrations de base de données, le mappeur d'objet éloquent (ORM) et les tâches de rationalisation du moteur de l'immatriculation de la lame telles que le routage, la sécurité et la gestion des bases de données, contribuant à la clarté du code.
  • L'écriture du code Laravel propre implique de suivre les meilleures pratiques: le principe sec (ne vous répétez pas), les commentaires significatifs et les noms de variables / fonction / classes descriptifs. À mesure que les projets évoluent, le conteneur de service de Laravel, avec ses capacités d'injection de dépendance, gère les dépendances de classe et maintient la propreté du code.

La page d'accueil de Laravel possède un framework "propre et chic", libérant les développeurs du code alambiqué. Tessons cela en construisant une simple application TODO.

Migrations de base de données

Tout d'abord, nous définissons le schéma de base de données. Une seule table avec cinq colonnes (id, titre, description, créé_at, updated_at) suffit. Les migrations de Laravel simplifient les mises à jour de la base de données. Le fichier de migration ressemble à ceci:

<code class="language-php"><?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateTodoTable extends Migration
{
    public function up()
    {
        Schema::create('todos', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title', 20);
            $table->text('description');
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('todos');
    }
}</code>

up() exécute la migration, et down() l'inverse.

Le modèle

L'architecture MVC de Laravel nécessite un modèle pour l'interaction de la base de données. Notre table simple a besoin d'un modèle simple:

<code class="language-php"><?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Todo extends Model
{
    protected $fillable = ['title', 'description'];
    public $timestamps = true;
}</code>

Laravel relie automatiquement Todo au tableau todos. Eloquent, l'ORM de Laravel, facilite la manipulation des objets de la base de données. $timestamps = true met à jour automatiquement created_at et updated_at.

le contrôleur

Le contrôleur abrite la logique d'application:

  • Récupérer toutes les entrées.
  • Récupérer une entrée spécifique.
  • Supprimer une entrée.
  • Créez un nouveau formulaire d'entrée.
  • Ajouter une nouvelle entrée.

Le contrôleur avec cinq actions (méthodes):

<code class="language-php"><?php

namespace App\Http\Controllers;

use App\Models\Todo;
use Illuminate\Http\Request;

class TodoController extends Controller
{
    public function list()
    {
        $todos = Todo::all();
        return view('list', compact('todos'));
    }

    public function view($id)
    {
        $todo = Todo::find($id);
        return view('view', compact('todo'));
    }

    public function delete($id)
    {
        $todo = Todo::find($id);
        $todo->delete();
        return view('deleted');
    }

    public function new()
    {
        return view('add');
    }

    public function add(Request $request)
    {
        $validatedData = $request->validate([
            'title' => 'required|max:20',
            'description' => 'required',
        ]);

        Todo::create($validatedData);
        return view('success');
    }
}</code>

Le code est clair. Eloquent simplifie l'accès à la base de données (Todo::all()). action_add() utilise la validation de la demande.

La vue (exemple: liste)

Le moteur de modèles de lame de Laravel crée des vues propres. La vue list:

<code class="language-blade"><h2>Todo List</h2>
<p>{{ link_to_route('todo.new', 'Add new todo') }}</p>
<ul>
    @foreach ($todos as $todo)
        <li>{{ link_to_route('todo.view', $todo->title, [$todo->id]) }} - {{ link_to_route('todo.delete', 'Delete', [$todo->id]) }}</li>
    @endforeach
</ul></code>

Conclusion

La construction de cette application simple démontre la facilité d'utilisation de Laravel et la lisibilité du code. Le cadre est à la hauteur de sa revendication "propre et chic".

(Remarque: Les extraits de code fournis sont des exemples simplifiés et peuvent nécessiter des ajustements pour une application entièrement fonctionnelle. La gestion des erreurs et des fonctionnalités plus robustes seraient nécessaires dans un environnement de production.)

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:
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