Creare un controller
en laravelPor krei a controller
, ni devas malfermi la komandan promptilon aŭ terminalon, laŭ la operaciumo, kiun ni uzas, kaj tajpi la sekvan komandon por krei la regilon uzante Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Anstataŭigi <controller-name>
kun via nomo controller
. Ĉi tio kreos a controller
. La controller
kreita videblas en app/Http/Controllers
.
Vi vidos, ke iu baza kodado jam estis farita por vi kaj vi povas aldoni vian propran kutiman kodigon. La controller
kreita povas esti vokita de web.php kun la sekva sintakso.
Route::get(‘base URI’,’controller@method’);
1 : Rulu la sekvan komandon por krei MyController
php artisan make:controller MyController
2 – Post sukcesa ekzekuto, vi ricevos la sekvan eligon.
3 – Ni trovos la regilon kreitan en app/Http/Controller/MyController.php
kun iu baza kodo jam skribita kaj ni povas fari ŝanĝojn laŭbezone.
Ni jam vidis la middleware
kaj ni ankaŭ povas uzi ĝin kun la controller
. La middleware
ĝi ankaŭ povas esti asignita al la regilitinero aŭ ene de la regilokonstrukciisto. Vi povas uzi la metodon middleware
atribui la middleware
al controller
. La middleware
registrita ankaŭ povas esti limigita al certaj metodoj de la controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Ĉi tie ni asignas aŭtentikigmezon al UserController en profilvojo.
<?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');
}
}
Ĉi tie ni atribuas la middleware
de aŭtentikigo uzante la metodon middleware
en la konstrukciisto MiaKontrolilo .
Rimarku tion $this->middleware()
ĝi funkcias solistoj se vi atribuas ĝin en la konstruilo. Se ni vokas $this->middleware()
de specifa regila metodo, ĝi ne ĵetos erarojn sed la mezvaro efektive ne funkcios.
Ĉi tiu opcio validas, sed persone mi preferas meti ĉiujn mezvarojn en la routes
, ĉar estas pli klare kie serĉi ĉiujn middleware
.
1 – Ni aldonu la sekvajn kodliniojn al la dosiero itineroj/web.php kaj ni savas.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Ni kreu a middleware
vokis FirstMiddleware
rulante la sekvan linion de kodo.
php artisan make:middleware FirstMiddleware
3 : aldonu la sekvan kodon en la metodo pritrakti de la FirstMiddleware
ĵus kreita en 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 – Ni kreu a middleware
vokis Dua Mezvaro rulante la sekvan komandon.
php artisan make:middleware SecondMiddleware
5 : ni aldonu la sekvan kodon en la tenilo-metodo de la SecondMiddleware
ĵus kreita en 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 : ni kreu a controller
vokis MiaKontrolilo rulante la sekvan linion.
php artisan make:controller MyController
7 - Post kiam la url ekzekutas sukcese, vi ricevos la sekvan eligon -
8 – Kopiu la sekvan kodon en la dosieron 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 – Nun ni lanĉu la internan retservilon php rulante la jenan komandon, se vi ne jam faris.
php artisan serve
10 – Vizitu la sekvan URL.
http://localhost:8000/mycontroller/path
11 – La eligo aperos kiel montrite en la sekva bildo.
Praktike ambaŭ mezvaroj estas implikitaj, sed nur unu
Controller
di restful resource
Ofte kreante aplikaĵon vi devas fari ion CRUD (Create, Read, Update, Delete)
. Laravel faciligas ĉi tiun laboron. Nur kreu a controller
kaj Laravel provizos ĉiujn metodojn por la operacioj aŭtomate CRUD
. Ni ankaŭ povas registri ununuran vojon al ĉiuj metodoj en la dosiero route.php
.
1 : kreu regilon nomitan MyController
rulante la sekvan komandon.
php artisan make:controller MyController
2 : aldonu la jenan kodon en 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 – Ni aldonu la sekvan linion de kodo en la dosiero routes/web.php
.
Route::resource('my','MyController');
4 – Ni nun registras ĉiujn metodojn de MyController registrante regilon kun rimedo. Malsupre estas la tabelo de agoj administritaj de la rimeda regilo.
Verbo | vojo | ago | Itinera Nomo |
---|---|---|---|
GET | / mia | indekso | mia. indekso |
GET | /mia/krei | krei | mia.krei |
POST | / mia | vendejo | mia.vendejo |
GET | /mia/{mia} | spektaklo | mia.spektaklo |
GET | /mia/{mia}/redakti | redakti | mia.redakti |
METI/FILIKON | /mia/{mia} | ĝisdatigo | mia.ĝisdatigo |
DELETE | /mia/{mia} | ekstermi | mia.detruu |
5 – Provu ruli la URL-ojn montritajn en la suba tabelo.
URL | Descrizione | Eliru |
---|---|---|
http://localhost:8000/my | Efektivigu la indeksan metodon de MyController.php | indekso |
http://localhost:8000/my/create | Efektivigu la krean metodon de MyController.php | krei |
http://localhost:8000/my/1 | Efektivigu la montran metodon de MyController.php | spektaklo |
http://localhost:8000/my/1/edit | Efektivigu la redaktan metodon de MyController.php | redakti |
Ercole Palmeri
Microsoft Excel è lo strumento di riferimento per l'analisi dei dati, perchè offre molte funzionalità per organizzare set di dati,…
Walliance, SIM kaj platformo inter la gvidantoj en Eŭropo en la kampo de Real Estate Crowdfunding ekde 2017, anoncas la kompletigon...
Filamento estas "akcelita" Laravel-evoluiga kadro, disponigante plurajn plen-stakojn komponentojn. Ĝi estas desegnita por simpligi la procezon de...
«Mi devas reveni por kompletigi mian evoluon: mi projektos min ene de la komputilo kaj fariĝos pura energio. Fojo instalita en...
Google DeepMind enkondukas plibonigitan version de sia modelo de artefarita inteligenteco. La nova plibonigita modelo provizas ne nur...
Laravel, fama pro sia eleganta sintakso kaj potencaj trajtoj, ankaŭ provizas solidan bazon por modula arkitekturo. Tie…
Cisco kaj Splunk helpas klientojn akceli sian vojaĝon al la Sekureca Operacia Centro (SOC) de la estonteco kun...
Ransomware regis la novaĵojn dum la lastaj du jaroj. Plej multaj homoj bone scias, ke atakoj...