✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Bessere Möglichkeit, Laravel-Controller für CRUD-Operationen zu erstellen

104

Laravel arbeitet mit MVC-Architekturmustern (Model-View-Controller). Wenn Sie eine Anwendung auf dem Laravel-Framework ausführen, müssen Sie Modell-, Ansichts- und Controller für Ihre Anwendung erstellen.

In Laravel kann man einen Controller und ein Modell über die Befehlszeilenschnittstelle erstellen. Laravel artisan ist die Befehlszeilenschnittstelle, die eine Reihe von Befehlen bereitstellt, die uns beim Erstellen der Anwendung helfen. Wir können und sollten einen Controller mit dem Befehl artisan erstellen.

Erstellen Sie einen Laravel-Controller

Angenommen, Sie arbeiten am Back-End und möchten CRUD-Operationen auf Seiten ausführen. Das bedeutet, dass Sie ein System zum Verwalten von Seiten erstellen müssen, das das Erstellen, Abrufen, Aktualisieren und Löschen von Seiten umfasst. Für diese Aufgabe müssen Sie natürlich einen Controller erstellen.

Normalerweise führen die Leute den Befehl aus php artisan make:controller PageController. Dieser Befehl generiert eine Datei PageController.phpim Verzeichnis app/Http/Controllers.

Hinweis: Sie müssen diesen Befehl im Stammverzeichnis eines Projekts über die Befehlszeilenschnittstelle ausführen.

PageController.php

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    //
}

In diesem generierten Controller müssen Sie Methoden schreiben und die Routen entsprechend definieren. Für jede Methode müssen Sie eine separate Route schreiben.

Beispielsweise. Lassen Sie uns eine Methode hinzufügen index()und eine Route dafür definieren.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    public function index() {
        //do operations here
    }
}

Um diese index()Funktion in der Routendatei aufzurufen, sollten wir den folgenden Code hinzufügen.

routen/web.php

Route::get('pages', 'PageController@index');

Der gleiche Vorgang gilt für jede zusätzliche Methode.

An diesem Fluss ist nichts auszusetzen. Dies ist jedoch nicht zu empfehlen. Hinter der Popularität von Laravel gibt es mehrere Gründe. Einer der Gründe sind ihre mächtigen fortgeschrittenen Handwerkerbefehle.

Bessere Möglichkeit, Laravel Controller zu erstellen

In Laravel müssen wir nicht jede Methode schreiben und für jede Methode eine separate Route definieren. Mit dem Befehl artisan können wir einen Controller mit vordefinierten Methoden generieren. Und nur durch das Schreiben einer einzelnen Route ruft Laravel automatisch die entsprechenden Methoden auf.

Öffnen Sie jedoch Ihre Befehlszeilenschnittstelle im Stammverzeichnis Ihres Projekts und führen Sie den folgenden Befehl aus. Beachten Sie, dass wir diesmal –resource zu unserem make:controller-Befehl hinzufügen.

php artisan make:controller PageController --resource

Jetzt PageController.phpsieht das generierte wie folgt aus.

PageController.php

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        //
    }
 
    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        //
    }
 
    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        //
    }
 
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function show($id)
    {
        //
    }
 
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        //
    }
 
    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        //
    }
 
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        //
    }
}

Wir haben die Methoden wie Index, Create, Store, Show, Edit, Update, Destroy automatisch. Sie können die Kommentare für jede Methode lesen, in denen erklärt wird, was jede Methode tut. Jetzt legen wir die Route dafür fest.

routen/web.php

Route::resource('pages', 'PageController');

Diese einfallsreiche Route erstellt mehrere Routen, um unterschiedliche Aktionen abzuwickeln. Um nun die Details zu den Aktionen abzurufen, führen Sie den Befehl aus php artisan route:list. Für die Seitenroute sehen Sie die Ausgabe wie im Screenshot gezeigt.

Diese Ausgabe gibt Ihnen eine Vorstellung von der HTTP-Methode, der URL und der Methode, die die angegebene URL aufruft.

Wenn Sie beispielsweise eine URL YOUR_SITE_DOMAIN/pages mit der Methode GET ausführen, wird die index()Methode eines PageControllers aufgerufen.

Wenn Sie eine neue Seite erstellen möchten, lautet die URL YOUR_SITE_DOMAIN/pages/create. Es ruft die create()Methode auf, bei der Sie eine Ansicht laden müssen, um eine neue Seite zu erstellen.

Wenn Sie ein Formular mit method="post" und action="pages" senden, wird die store()Methode aufgerufen .

Und so weiter.

Es geht darum, einen Laravel-Controller für CRUD-Operationen zu erstellen. Bitte teilen Sie Ihre Gedanken im Kommentarbereich unten mit.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen