Introduction
Après nous être connectés à la base de données et utilisé la fonction de migration pour créer la structure de la table de la base de données, a utilisé Seeder pour remplir initialement des données factices pour la base de données. Une fois ces préparatifs en place, nous pouvons envisager de créer une fonction d'interface de ressources pour fournir un support de données externes.
Temps de codage
Pensez-vous que l'interface API et les données que vous avez conçues sont différentes des autres grands fabricants ? La structure des données du document fournie est différente, n'a pas l'air si professionnelle, ou pas si standard ? De combien de notes sommes-nous encore en retard sur Dachang ? Laravel fournit un moyen simple et standard qui nous permet de suivre les meilleures pratiques pour rédiger des URL professionnelles.
Par exemple, pour les ressources, utilisez le style restful pour déclarer l'adresse de routage de l'url :
La première colonne est la méthode de requête http, et la deuxième colonne est la déclaration dans les règles de routage laravel, la troisième colonne est la méthode du contrôleur correspondante. La liste de ressources ci-dessus couvre toutes les actions d'ajout, de suppression, de modification et de vérification, ce qui peut être considéré comme très complet. Comment générer rapidement la méthode de contrôleur ci-dessus ? Utilisez les instructions d'échafaudage Laravel pour exécuter sur la ligne de commande :php artisan make:controller EventsController --resource
pour générer toutes les méthodes ci-dessus dans le contrôleur cible.
Le fichier généré se trouve dans
app/Http/Controllers/EventsController.phpLe contenu d'initialisation est le suivant :
. Ces méthodes fonctionnent vraiment dès la sortie de la boîte.
Alors, devons-nous encore déclarer manuellement les entrées de routage ci-dessus une par une ? Quel cauchemar. Heureusement, laravel l'a fait pour nous, utilisez simplement la méthoderesource
pour enregistrer les ressources :
Route::resource('events', 'EventsController');
utilise la méthode de routage des ressources, spécifiez simplement Route nom et la méthode de contrôleur correspondante, vous n'avez pas besoin d'écrire fastidieusement ces routes et ces méthodes de contrôleur. Pour faciliter l'affichage, nous restituons les données dans le fichier de vue. Créons d'abord le fichier de vue resources/views/events/index.blade.php, utilisons le fichier de mise en page par défaut et remplissons. dans le code suivant :
@extends('layouts.app') @section('content') <h1>Events</h1> @endsection
Ouvrez le fichier
app/Http/Controllers/EventsControlleret modifiez la méthode index :
public function index(){ return view('events.index');}
Comme vous pouvez voyez, il n'y a pas de base de données dans la méthode ci-dessus. Pour l'interaction des données, nous introduisons le modèle ci-dessous et le rendons dans la vue. Ajoutez la référence suivante en haut du contrôleur : use App\Event;
$events = Event::all();return view('events.index')->with('events', $events);
Avec les données ci-dessus, parcourez simplement le afficher le contenu dans la vue, modifiez le fichier de vue comme suit :
<h1>Events</h1>
Dans le fichier modèle, la méthode @forelse déterminera si la variable
$eventsa au au moins un élément pour le parcours, et sinon, afficher
@emptyLe contenu du bloc. Accédez à l'adresse de routage dans le navigateur et le contenu de sortie ressemble à peu près à celui indiqué ci-dessous. Parce que les fausses données renseignées par Faker sont utilisées, cela ressemble à ceci : Si la quantité de données est trop importante, cette page sera probablement c'est long à charger, la liste est longue. Une pagination est donc nécessaire. Pour ajouter la fonction de pagination, l'instruction SQL utilisée ressemble probablement à ceci :
select id, name from events order by id asc limit 10 offset 0; select id, name from events order by id asc limit 10 offset 10;
paginate
$events = Events::paginate(10);
chacun La page est définie sur 10 éléments. Nous devons avoir une barre de navigation pour la page précédente, la page suivante et le numéro de page dans la vue, et nous n'avons pas besoin de l'écrire manuellement. Laravel hérite en fait de la classe
IlluminatePaginationLengthAwarePaginatorrenvoyée par la méthode paginate Il suffit d'ajouter simplement cette ligne à la vue :
{!! $events->links() !!}
La barre de navigation générée est la suivante. :
Écrit à la finVous pouvez également utiliser une bibliothèque tierce pour remplir des données factices, ce qui améliore considérablement l'efficacité. Ce n'est que lorsque les données sont préparées que l'on peut
parler de logique métier et d'amarrage d'interface. Ces données constituent également la base de la candidature, elles sont donc importantes.
Cet article est un complément à la fonction de migration de base de données Laravel décrite dans le chapitre précédent. La migration de bases de données est une démarche relativement importante.
Surtout pour les bases de données d'application qui ont été mises en production. S'il est nécessaire de mettre à jour la migration, vous devez effectuer des exercices en amont pour
y faire face. urgences possibles. Un accident s'est produit.
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!