Creare un controller
im LaravelUm 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.
Route::get(‘base URI’,’controller@method’);
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.
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
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Hier weisen wir UserController im Profilpfad Authentifizierungs-Middleware zu.
<?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
.
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 .
<?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
.
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.
Verb | Path | Action | Routenname |
---|---|---|---|
BESTELLE | / mein | Index | mein.index |
BESTELLE | /mein/erstellen | erstellen | mein.erstellen |
jetzt lesen | / mein | speichern | Mein Laden |
BESTELLE | /mein/{mein} | erklären | Meine Show |
BESTELLE | /my/{my}/edit | bearbeiten | meine Bearbeitung |
SETZEN/PATCH | /mein/{mein} | Aktualisierung | mein.update |
LÖSCHEN | /mein/{mein} | zerstören | meine. zerstören |
5 – Versuchen Sie, die in der folgenden Tabelle aufgeführten URLs auszuführen.
URL | Beschreibung | uscita |
---|---|---|
http://localhost:8000/my | Führen Sie die Index-Methode von MyController.php aus | Index |
http://localhost:8000/my/create | Führen Sie die create-Methode von MyController.php aus | creare |
http://localhost:8000/my/1 | Führen Sie die Show-Methode von MyController.php aus | erklären |
http://localhost:8000/my/1/edit | Führen Sie die Edit-Methode von MyController.php aus | bearbeiten |
Ercole Palmeri
Microsoft Excel ist das Referenztool für die Datenanalyse, denn es bietet viele Funktionen zum Organisieren von Datensätzen,…
Walliance, SIM und Plattform, die seit 2017 zu den Marktführern in Europa im Bereich Immobilien-Crowdfunding zählt, gibt den Abschluss bekannt…
Filament ist ein „beschleunigtes“ Laravel-Entwicklungsframework, das mehrere Full-Stack-Komponenten bereitstellt. Es soll den Prozess vereinfachen...
„Ich muss zurückkehren, um meine Entwicklung zu vollenden: Ich werde mich in den Computer hineinprojizieren und reine Energie werden.“ Einmal eingelebt…
Google DeepMind stellt eine verbesserte Version seines Modells der künstlichen Intelligenz vor. Das neue, verbesserte Modell bietet nicht nur…
Laravel, bekannt für seine elegante Syntax und leistungsstarken Funktionen, bietet auch eine solide Grundlage für modulare Architektur. Dort…
Cisco und Splunk unterstützen Kunden dabei, ihren Weg zum Security Operations Center (SOC) der Zukunft zu beschleunigen, mit…
Ransomware dominiert seit zwei Jahren die Nachrichten. Den meisten Menschen ist durchaus bewusst, dass Angriffe…