Waren

Laravel: Was sind Laravel-Controller

Im MVC-Framework steht der Buchstabe „C“ für Controller, und in diesem Artikel werden wir sehen, wie man Controller in Laravel verwendet. Fungiert als direkter Datenverkehr zwischen Ansichten und Modellen. In diesem Artikel sehen wir, wie man Controller in Laravel erstellt und einrichtet.

Creare un controller im Laravel

Um ein zu erstellen controller, müssen wir je nach verwendetem Betriebssystem die Eingabeaufforderung oder das Terminal öffnen und den folgenden Befehl eingeben, um den verwendeten Controller zu erstellen Artisan CLI (Command Line Interface).

php artisan make:controller <controller-name> --plain

Ersetzen <controller-name> mit deinem Namen controller. Dadurch entsteht ein controller. Das controller erstellt eingesehen werden app/Http/Controllers .

Sie werden sehen, dass einige grundlegende Codierungen bereits für Sie erstellt wurden, und Sie können Ihre eigene benutzerdefinierte Codierung hinzufügen. Der controller erstellt kann aus web.php mit der folgenden Syntax aufgerufen werden.

Syntax
Route::get(‘base URI’,’controller@method’);
Beispiel

1 : Führen Sie zum Erstellen den folgenden Befehl aus MyController

php artisan make:controller MyController

2 – Nach erfolgreicher Ausführung erhalten Sie folgende Ausgabe.

3 – Wir finden den erstellten Controller in app/Http/Controller/MyController.php mit einem bereits geschriebenen grundlegenden Code und wir können bei Bedarf Änderungen vornehmen.

Controller-Middleware

Wir haben schon gesehen middleware und wir können es auch mit verwenden controller. Das middleware es kann auch der Controller-Route oder innerhalb des Controller-Konstruktors zugewiesen werden. Sie können die Methode verwenden middleware die zuzuweisen middleware al controller. Das middleware registriert kann auch auf bestimmte Methoden der beschränkt werden controller.

Middleware der Route zuweisen
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Hier weisen wir UserController im Profilpfad Authentifizierungs-Middleware zu.

Middleware-Zuweisung innerhalb des Controller-Konstruktors
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('auth');
   }
}

Hier vergeben wir die middleware der Authentifizierung mit der Methode middleware im Konstruktor MeinController .

Beachten Sie, dass $this->middleware() funziona solo wenn Sie es im Konstruktor zuweisen. Wenn wir anrufen $this->middleware() von einer bestimmten Controller-Methode werden keine Fehler ausgegeben, aber die Middleware funktioniert nicht wirklich.

Diese Option ist gültig, aber persönlich Ich ziehe es vor, die gesamte Middleware in die routes, weil es klarer ist, wo man nach all den suchen muss middleware.

Beispiel

1 – Fügen wir der Datei die folgenden Codezeilen hinzu routen/web.php und wir sparen.

<?php
Route::get('/mycontroller/path',[
   'middleware' => 'First',
   'uses' => 'MyController@showPath'
]);

2 – Lassen Sie uns eine erstellen middleware genannt FirstMiddleware indem Sie die folgende Codezeile ausführen.

php artisan make:middleware FirstMiddleware

3 : Fügen Sie der Methode den folgenden Code hinzu Griff des Restaurants FirstMiddleware gerade erstellt app/HTTP/Middleware .

<?php

namespace App\Http\Middleware;
use Closure;

class FirstMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>First Middleware';
      return $next($request);
   }
}

4 – Lassen Sie uns eine erstellen middleware genannt ZweiteMiddleware indem Sie den folgenden Befehl ausführen.

php artisan make:middleware SecondMiddleware

5 : Lassen Sie uns den folgenden Code in der Handle-Methode von hinzufügen SecondMiddleware gerade erstellt app/HTTP/Middleware .

Innovations-Newsletter
Verpassen Sie nicht die wichtigsten Neuigkeiten zum Thema Innovation. Melden Sie sich an, um sie per E-Mail zu erhalten.
<?php

namespace App\Http\Middleware;
use Closure;

class SecondMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>Second Middleware';
      return $next($request);
   }
}

6 : Lassen Sie uns eine erstellen controller genannt MeinController indem Sie die folgende Zeile ausführen.

php artisan make:controller MyController

7 – Nachdem die URL erfolgreich ausgeführt wurde, erhalten Sie die folgende Ausgabe –

8 – Kopieren Sie den folgenden Code in die Datei app/Http/MyController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('Second');
   }
   public function showPath(Request $request) {
      $uri = $request->path();
      echo '<br>URI: '.$uri;
      
      $url = $request->url();
      echo '<br>';
      
      echo 'URL: '.$url;
      $method = $request->method();
      echo '<br>';
      
      echo 'Method: '.$method;
   }
}

9 – Lassen Sie uns nun den internen PHP-Webserver starten, indem Sie den folgenden Befehl ausführen, falls Sie dies noch nicht getan haben.

php artisan serve

10 – Besuchen Sie die folgende URL.

http://localhost:8000/mycontroller/path

11 – Die Ausgabe erscheint wie im folgenden Bild gezeigt.

Es sind praktisch beide Middlewares beteiligt, aber nur eine

Controller di restful resource

Beim Erstellen einer Anwendung müssen Sie häufig Dinge tun CRUD (Create, Read, Update, Delete)Laravel macht diesen Job einfach. Erstellen Sie einfach eine controller und Laravel stellt alle Methoden für die Operationen automatisch bereit CRUD. Wir können auch einen einzelnen Pfad zu allen Methoden in der Datei aufzeichnen route.php.

Beispiel

1 : Erstellen Sie einen Controller namens MyController indem Sie den folgenden Befehl ausführen.

php artisan make:controller MyController

2 : Fügen Sie den folgenden Code hinzu app/Http/Controllers/MyController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function index() {
      echo 'index';
   }
   public function create() {
      echo 'create';
   }
   public function store(Request $request) {
      echo 'store';
   }
   public function show($id) {
      echo 'show';
   }
   public function edit($id) {
      echo 'edit';
   }
   public function update(Request $request, $id) {
      echo 'update';
   }
   public function destroy($id) {
      echo 'destroy';
   }
}

3 – Lassen Sie uns die folgende Codezeile in die Datei einfügen routes/web.php .

Route::resource('my','MyController');

4 – Wir registrieren jetzt alle Methoden von MyController, indem wir einen Controller mit Ressource registrieren. Nachfolgend finden Sie die Tabelle der Aktionen, die vom Ressourcencontroller verwaltet werden.

VerbPathActionRoutenname
BESTELLE/ meinIndexmein.index
BESTELLE/mein/erstellenerstellenmein.erstellen
jetzt lesen/ meinspeichernMein Laden
BESTELLE/mein/{mein}erklärenMeine Show
BESTELLE/my/{my}/editbearbeitenmeine Bearbeitung
SETZEN/PATCH/mein/{mein}Aktualisierungmein.update
LÖSCHEN/mein/{mein}zerstörenmeine. zerstören

5 – Versuchen Sie, die in der folgenden Tabelle aufgeführten URLs auszuführen.

URLBeschreibunguscita
http://localhost:8000/myFühren Sie die Index-Methode von MyController.php ausIndex
http://localhost:8000/my/createFühren Sie die create-Methode von MyController.php auscreare
http://localhost:8000/my/1Führen Sie die Show-Methode von MyController.php auserklären
http://localhost:8000/my/1/editFühren Sie die Edit-Methode von MyController.php ausbearbeiten

Ercole Palmeri

Innovations-Newsletter
Verpassen Sie nicht die wichtigsten Neuigkeiten zum Thema Innovation. Melden Sie sich an, um sie per E-Mail zu erhalten.

Aktuelle Artikel

So organisieren Sie Daten und Formeln in Excel am besten für eine gelungene Analyse

Microsoft Excel ist das Referenztool für die Datenanalyse, denn es bietet viele Funktionen zum Organisieren von Datensätzen,…

14. Mai 2024

Positives Fazit für zwei wichtige Walliance Equity Crowdfunding-Projekte: Jesolo Wave Island und Milano Via Ravenna

Walliance, SIM und Plattform, die seit 2017 zu den Marktführern in Europa im Bereich Immobilien-Crowdfunding zählt, gibt den Abschluss bekannt…

13. Mai 2024

Was ist Filament und wie wird Laravel Filament verwendet?

Filament ist ein „beschleunigtes“ Laravel-Entwicklungsframework, das mehrere Full-Stack-Komponenten bereitstellt. Es soll den Prozess vereinfachen...

13. Mai 2024

Unter der Kontrolle künstlicher Intelligenzen

„Ich muss zurückkehren, um meine Entwicklung zu vollenden: Ich werde mich in den Computer hineinprojizieren und reine Energie werden.“ Einmal eingelebt…

10. Mai 2024

Googles neue künstliche Intelligenz kann DNA, RNA und „alle Moleküle des Lebens“ modellieren

Google DeepMind stellt eine verbesserte Version seines Modells der künstlichen Intelligenz vor. Das neue, verbesserte Modell bietet nicht nur…

9. Mai 2024

Erkundung der modularen Architektur von Laravel

Laravel, bekannt für seine elegante Syntax und leistungsstarken Funktionen, bietet auch eine solide Grundlage für modulare Architektur. Dort…

9. Mai 2024

Cisco Hypershield und Übernahme von Splunk Die neue Ära der Sicherheit beginnt

Cisco und Splunk unterstützen Kunden dabei, ihren Weg zum Security Operations Center (SOC) der Zukunft zu beschleunigen, mit…

8. Mai 2024

Jenseits der wirtschaftlichen Seite: die nicht offensichtlichen Kosten von Ransomware

Ransomware dominiert seit zwei Jahren die Nachrichten. Den meisten Menschen ist durchaus bewusst, dass Angriffe…

6. Mai 2024