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

Barbara Streisand
Libérer: 2024-11-30 10:08:11
original
823 Les gens l'ont consulté

Criando uma API de Mini Blog com Lithe e Eloquent

Dans ce tutoriel, nous allons créer une API Mini Blog en utilisant Lithe, un framework PHP simple et flexible, et ORM éloquent, qui facilite l'interaction avec la base de données. Lithe configure déjà Eloquent automatiquement, le travail que nous devons donc faire est simple : ajuster les variables d'environnement et créer le modèle et la migration de nos données.

Suivons un guide simple étape par étape pour créer cette API efficacement et sans complications.


É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
Copier après la connexion
Copier après la connexion

Cette commande crée un nouveau projet en utilisant Lithe. Lithe configure déjà Eloquent automatiquement 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 être comme ceci :

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true
Copier après la connexion
Copier après la connexion

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

composer require illuminate/database
Copier après la connexion
Copier après la connexion

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 correctement configurée pour notre Mini Blog!

API

Étape 3 : Créer le modèle et migrer vers les publications

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

Tout d'abord, créez le modèle de publication avec la commande :

php line make:model Post
Copier après la connexion
Copier après la connexion

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

php line make:migration create_posts_table
Copier après la connexion
Copier après la connexion

Le modèle et la migration ont déjà été créés, configurons-les maintenant.

Modèle de publication

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
{
    // A tabela associada ao modelo
    protected $table = 'posts';

    // Campos que podem ser preenchidos via mass-assignment
    protected $fillable = ['title', 'content'];

    // Usar timestamps para created_at e updated_at
    public $timestamps = true;
}
Copier après la connexion
Copier après la connexion

Dans ce code, nous définissons les champs de titre et de contenu comme étant remplissables, ce qui signifie qu'ils peuvent être remplis automatiquement lorsque nous créons ou mettons à jour une publication.

Migration de la table des publications

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

composer create-project lithephp/lithephp mini-blog-api
Copier après la connexion
Copier après la connexion

Ici, nous créons la table des publications avec les champs identifiant, titre, contenu et les champs de date et d'heure créés_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 :

DB_CONNECTION_METHOD=eloquent
DB_CONNECTION=mysql
DB_HOST=localhost
DB_NAME=lithe_eloquent
DB_USERNAME=root
DB_PASSWORD=
DB_SHOULD_INITIATE=true
Copier après la connexion
Copier après la connexion

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 pour les publications

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 require illuminate/database
Copier après la connexion
Copier après la connexion

Cela générera un fichier sur 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 :

php line make:model Post
Copier après la connexion
Copier après la connexion

Ici, nous avons cinq méthodes de base :

  • index : Répertorie tous les messages.
  • show : affiche un message spécifique.
  • store : Créez 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 publications. Ouvrez le fichier src/App.php et ajoutez le code suivant :

php line make:migration create_posts_table
Copier après la connexion
Copier après la connexion

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 va vers la route /cart.
  • Le fichier admin/dashboard.php va vers la route /admin/dashboard.

Le $app->listen(); fait que Lithe commence à « écouter » les demandes, c'est-à-dire qu'il attend les demandes 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 :

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // A tabela associada ao modelo
    protected $table = 'posts';

    // Campos que podem ser preenchidos via mass-assignment
    protected $fillable = ['title', 'content'];

    // Usar timestamps para created_at e updated_at
    public $timestamps = true;
}
Copier après la connexion
Copier après la connexion

Ces routes connectent les méthodes PostController aux URL d'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 venons d'apporter quelques modifications aux variables d'environnement et de créer 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!

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