Creare un controller
in laravelPer creare un controller
, dobbiamo aprire il prompt dei comandi o il terminale, in base al sistema operativo che stiamo utilizzando, e digitiamo il seguente comando per creare il controller utilizzando Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Sostituisci <controller-name>
con il nome del tuo controller
. Questo creerà un controller
. Awọn controller
creato può essere visualizzato in app/Http/Controllers
.
Vedrai che è già stata eseguita una codifica di base per te e puoi aggiungere la tua codifica personalizzata. Il controller
creato può essere chiamato da web.php con la seguente sintassi.
Route::get(‘base URI’,’controller@method’);
1 : eseguire il seguente comando per creare MyController
php artisan make:controller MyController
2 – Dopo l’esecuzione riuscita, riceverai il seguente output.
3 – Troveremo il controller creato in app/Http/Controller/MyController.php
con del codice di base già scritto e possiamo fare modifiche in base alle necessità.
Abbiamo già visto il middleware
e possiamo utilizzarlo anche con il controller
. Awọn middleware
può anche essere assegnato alla route del controller o all’interno del costruttore del controller. È possibile utilizzare il metodo middleware
per assegnare il middleware
al controller
. Awọn middleware
registrato può anche essere limitato a determinati metodi del controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Qui stiamo assegnando il middleware di autenticazione a UserController nel percorso del profilo.
<?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');
}
}
Qui stiamo assegnando il middleware
di autenticazione utilizzando il metodo middleware
nel costruttore MyController .
Si noti che $this->middleware()
o ṣiṣẹ adashe se lo si assegna nel costruttore. Se chiamiamo $this->middleware()
da un metodo controller specifico, non genererà alcun errore ma il middleware non funzionerà effettivamente.
Questa opzione è valida, ma tikalararẹ preferisco inserire tutti i middleware nelle routes
, perché è più chiaro dove cercare tutti i middleware
.
1 – Aggiungiamo le seguenti righe di codice al file awọn ọna/web.php e salviamo.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Creiamo un middleware
ti a npe ni FirstMiddleware
eseguendo la seguente riga di codice.
php artisan make:middleware FirstMiddleware
3 : aggiungere il seguente codice nel metodo mu del FirstMiddleware
appena creato in 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 – Creiamo un middleware
ti a npe ni SecondMiddleware eseguendo il seguente comando.
php artisan make:middleware SecondMiddleware
5 : aggiungiamo il seguente codice nel metodo handle del SecondMiddleware
appena creato in 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 : creiamo un controller
ti a npe ni MyController eseguendo la seguente riga.
php artisan make:controller MyController
7 – Dopo l’esecuzione corretta dell’URL, riceverai il seguente output –
8 – Copia il seguente codice nel file 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 – Ora avviamo il server Web interno di php eseguendo il seguente comando, se non lo hai ancora eseguito.
php artisan serve
10 – Visita il seguente URL.
http://localhost:8000/mycontroller/path
11 – L’output apparirà come mostrato nell’immagine seguente.
Praticamente entrambi i middleware intervengono, ma solo uno
Controller
di restful resource
Spesso durante la creazione di un’applicazione è necessario eseguire operazioni CRUD (Create, Read, Update, Delete)
. Laravel semplifica questo lavoro. Basta creare un controller
e Laravel fornirà automaticamente tutti i metodi per le operazioni CRUD
. Possiamo anche registrare un singolo percorso per tutti i metodi nel file route.php
.
1 : creare un controller chiamato MyController
eseguendo il seguente comando.
php artisan make:controller MyController
2 : aggiungere il seguente codice in 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 – Aggiungiamo la seguente riga di codice nel file routes/web.php
.
Route::resource('my','MyController');
4 – Ora stiamo registrando tutti i metodi di MyController registrando un controller con resource. Di seguito è riportata la tabella delle azioni gestite dal controller delle risorse.
Verb | ona | Action | Orukọ ọna |
---|---|---|---|
gba | / mi | Ìwé | my.index |
gba | /my/create | ṣẹda | my.create |
post | / mi | itaja | my.store |
gba | /my/{my} | show | my.show |
gba | /my/{my}/edit | edit | my.edit |
PUT/PATCH | /my/{my} | imudojuiwọn | my.update |
pa | /my/{my} | run | my.destroy |
5 – Prova a eseguire gli URL mostrati nella tabella seguente.
URL | Descrizione | Jade |
---|---|---|
http://localhost:8000/my | Esegue il metodo index di MyController.php | Ìwé |
http://localhost:8000/my/create | Esegue il metodo create di MyController.php | ṣẹda |
http://localhost:8000/my/1 | Esegue il metodo show di MyController.php | show |
http://localhost:8000/my/1/edit | Esegue il metodo edit di MyController.php | edit |
Ercole Palmeri
Microsoft Excel jẹ irinṣẹ itọkasi fun itupalẹ data, nitori pe o funni ni ọpọlọpọ awọn ẹya fun siseto awọn eto data,…
Walliance, SIM ati Syeed laarin awọn oludari ni Yuroopu ni aaye ti Ohun-ini gidi Crowdfunding lati ọdun 2017, n kede ipari…
Filament jẹ ilana idagbasoke Laravel “isakiakia”, n pese ọpọlọpọ awọn paati akopọ ni kikun. O jẹ apẹrẹ lati ṣe irọrun ilana ti…
“Mo gbọdọ pada lati pari itankalẹ mi: Emi yoo ṣe akanṣe ara mi ninu kọnputa ati di agbara mimọ. Ni kete ti gbe ni…
Google DeepMind n ṣafihan ẹya ilọsiwaju ti awoṣe itetisi atọwọda rẹ. Awoṣe ilọsiwaju tuntun pese kii ṣe…
Laravel, olokiki fun sintasi didara rẹ ati awọn ẹya ti o lagbara, tun pese ipilẹ to lagbara fun faaji apọjuwọn. Nibẹ…
Sisiko ati Splunk n ṣe iranlọwọ fun awọn alabara lati yara irin-ajo wọn si Ile-iṣẹ Awọn iṣẹ Aabo (SOC) ti ọjọ iwaju pẹlu…
Ransomware ti jẹ gaba lori awọn iroyin fun ọdun meji sẹhin. Pupọ eniyan mọ daradara pe ikọlu…