Maison >développement back-end >tutoriel php >Création d'une API Mini Blog avec Lithe et Eloquent

Création d'une API Mini Blog avec Lithe et Eloquent

Linda Hamilton
Linda Hamiltonoriginal
2024-11-30 10:56:10492parcourir

Creating a Mini Blog API with Lithe and Eloquent

Étape 1 : Installer Lithe

La première étape consiste à installer Lithe dans votre projet. Si vous ne l'avez pas encore fait, exécutez simplement la commande suivante dans le terminal :

composer create-project lithephp/lithephp mini-blog-api

Cette commande crée un nouveau projet en utilisant Lithe. Lithe configure automatiquement Eloquent pour vous, mais nous devons ajuster certains paramètres dans le fichier .env pour nous connecter à la base de données.


Étape 2 : Configurer la base de données

Maintenant, configurons la base de données. Ouvrez le fichier .env à la racine de votre projet et modifiez les paramètres de la base de données. Pour utiliser Eloquent ORM avec MySQL, les paramètres doivent ressembler à ceci :

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true

Puisque Lithe configure automatiquement Eloquent, l'étape suivante consiste à s'assurer que Eloquent ORM est installé. Si vous ne l'avez pas fait, exécutez la commande suivante pour installer Eloquent ORM :

composer require illuminate/database

Après l'installation, Lithe sera prêt à utiliser Eloquent ORM et à interagir avec la base de données. Avec cela, la base de données est désormais correctement configurée pour notre API Mini Blog !


Étape 3 : Créer le modèle et la migration pour les publications

Maintenant, créons le modèle et la migration pour définir la table posts dans notre base de données.

Tout d'abord, créez le modèle Post avec la commande suivante :

php line make:model Post

Ensuite, créez la migration pour la table des publications :

php line make:migration create_posts_table

Le modèle et la migration sont maintenant créés. Configurons-les.

Publier le modèle

Le modèle Post se trouve dans src/models/Post.php. Modifiez le fichier comme ceci :

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // The table associated with the model
    protected $table = 'posts';

    // Fields that can be filled via mass-assignment
    protected $fillable = ['title', 'content'];

    // Use timestamps for created_at and updated_at
    public $timestamps = true;
}

Dans ce code, nous définissons les champs de titre et de contenu comme remplissables, ce qui signifie qu'ils peuvent être automatiquement renseignés lors de la création ou de la mise à jour d'une publication.

Migration de la table des publications

La migration générée sera située dans src/database/migrations/{timestamp}_create_posts_table.php. Modifiez la migration pour créer la structure de la table des publications :

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Capsule\Manager as Capsule;

return new class
{
    public function up(): void
    {
         Capsule::schema()->create('posts', function (Blueprint $table) {
            $table->id(); // Creates the auto-incrementing id field
            $table->string('title'); // Creates the title field
            $table->text('content'); // Creates the content field
            $table->timestamps(); // Creates created_at and updated_at fields
        });
    }

    public function down(): void
    {
         Capsule::schema()->dropIfExists('posts');
    }
};

Ici, nous créons la table des publications avec les champs identifiant, titre, contenu et les champs date-heure créé_at et mis à jour_at.


Étape 4 : Exécuter la migration

Une fois la migration et le modèle prêts, exécutons la migration pour créer la table des publications dans la base de données. Exécutez la commande suivante :

php line migrate

Cette commande créera la table des publications dans la base de données avec les champs que nous avons définis lors de la migration.


Étape 5 : Créer le contrôleur de poste

Maintenant, créons un contrôleur pour gérer les publications de l'API. Le responsable du traitement sera responsable du traitement des requêtes HTTP et du renvoi des données de manière organisée.

Pour créer le contrôleur, exécutez :

composer create-project lithephp/lithephp mini-blog-api

Cela générera un fichier dans src/http/Controllers/PostController.php. Modifiez ce fichier pour inclure les méthodes CRUD (créer, lire, mettre à jour et supprimer) pour les publications.

Voici un exemple de ce à quoi pourrait ressembler le PostController :

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true

Ici, nous avons cinq méthodes de base :

  • index : Répertorie tous les messages.
  • show : affiche un message spécifique.
  • store : crée une nouvelle publication.
  • update : met à jour une publication existante.
  • destroy : supprime une publication.

Étape 6 : Définir les routes API

Maintenant, définissons les routes pour notre API de publication. Ouvrez le fichier src/App.php et ajoutez le code suivant :

composer require illuminate/database

Le code ci-dessus crée une instance de l'application Lithe. La ligne $app->set('routes', __DIR__ . '/routes'); indique à Lithe où trouver les fichiers de route. Lithe chargera automatiquement tous les fichiers dans le dossier src/routes. Chaque fichier de route sera mappé à l'URL en fonction de son nom. Par exemple :

  • Le fichier cart.php ira vers la route /cart.
  • Le fichier admin/dashboard.php ira vers la route /admin/dashboard.

La ligne $app->listen(); fait que Lithe « écoute » les demandes, c'est-à-dire qu'il attend les demandes entrantes et les dirige vers les itinéraires définis.

Maintenant, créez un fichier appelé posts.php dans le dossier src/routes/posts pour représenter la route /posts et ajoutez le code suivant :

php line make:model Post

Ces routes connectent les méthodes de PostController aux URL de l'API.


Étape 7 : Testez l'API

Maintenant que tout est configuré, vous pouvez tester votre API avec des outils comme Postman ou Insomnia. Voici les points de terminaison que vous pouvez tester :

  • GET /posts : renvoie tous les messages.
  • GET /posts/:id : renvoie une publication spécifique.
  • POST /posts : Crée une nouvelle publication.
  • PUT /posts/:id : met à jour une publication existante.
  • DELETE /posts/:id : supprime une publication.

Maintenant, vous venez de créer une API Mini Blog avec Lithe et Eloquent ORM ! Lithe a automatiquement configuré Eloquent pour vous, et nous avons simplement apporté quelques ajustements aux variables d'environnement et créé les modèles et contrôleurs nécessaires. Vous disposez désormais d'une API RESTful complète pour gérer les articles de blog.

Pour plus d'informations et de détails sur l'utilisation de Lithe et Eloquent ORM, visitez la documentation officielle de Lithe ici : Documentation Lithe.

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