Artikoloj

Laravel: Kio estas laravel-regiloj

En la kadro MVC, la litero "C" signifas Regilojn, kaj en ĉi tiu artikolo ni vidos kiel uzi Regilojn en Laravel. Agas kiel rekta trafiko inter vidoj kaj modeloj. En ĉi tiu artikolo ni vidas kiel krei kaj agordi regilojn en Laravel.

Creare un controller en laravel

Por 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.

sintakso
Route::get(‘base URI’,’controller@method’);
ekzemple

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.

Mezvaro de regilo

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.

Asignante la mezprogramon al la itinero
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Ĉi tie ni asignas aŭtentikigmezon al UserController en profilvojo.

Middleware-tasko ene de la regila konstrukciisto
<?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.

ekzemple

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 .

Informilo pri novigo
Ne maltrafu la plej gravajn novaĵojn pri novigado. Registriĝi por ricevi ilin retpoŝte.
<?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.

ekzemple

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.

VerbovojoagoItinera Nomo
GET/ miaindeksomia. indekso
GET/mia/kreikreimia.krei
POST/ miavendejomia.vendejo
GET/mia/{mia}spektaklomia.spektaklo
GET/mia/{mia}/redaktiredaktimia.redakti
METI/FILIKON/mia/{mia}ĝisdatigomia.ĝisdatigo
DELETE/mia/{mia}ekstermimia.detruu

5 – Provu ruli la URL-ojn montritajn en la suba tabelo.

URLDescrizioneEliru
http://localhost:8000/myEfektivigu la indeksan metodon de MyController.phpindekso
http://localhost:8000/my/createEfektivigu la krean metodon de MyController.phpkrei
http://localhost:8000/my/1Efektivigu la montran metodon de MyController.phpspektaklo
http://localhost:8000/my/1/editEfektivigu la redaktan metodon de MyController.phpredakti

Ercole Palmeri

Informilo pri novigo
Ne maltrafu la plej gravajn novaĵojn pri novigado. Registriĝi por ricevi ilin retpoŝte.

Lastaj artikoloj

Kiel plej bone organizi datumojn kaj formulojn en Excel, por bone farita analizo

Microsoft Excel è lo strumento di riferimento per l'analisi dei dati, perchè offre molte funzionalità per organizzare set di dati,…

14 Majo 2024

Pozitiva konkludo por du gravaj Walliance Equity Crowdfunding-projektoj: Jesolo Wave Island kaj Milano Via Ravenna

Walliance, SIM kaj platformo inter la gvidantoj en Eŭropo en la kampo de Real Estate Crowdfunding ekde 2017, anoncas la kompletigon...

13 Majo 2024

Kio estas Filamento kaj kiel uzi Laravel Filament

Filamento estas "akcelita" Laravel-evoluiga kadro, disponigante plurajn plen-stakojn komponentojn. Ĝi estas desegnita por simpligi la procezon de...

13 Majo 2024

Sub la kontrolo de Artefarita Inteligenteco

«Mi devas reveni por kompletigi mian evoluon: mi projektos min ene de la komputilo kaj fariĝos pura energio. Fojo instalita en...

10 Majo 2024

La nova artefarita inteligenteco de Google povas modeli DNA, RNA kaj "ĉiujn molekulojn de vivo"

Google DeepMind enkondukas plibonigitan version de sia modelo de artefarita inteligenteco. La nova plibonigita modelo provizas ne nur...

9 Majo 2024

Esplorante la Modulan Arkitekturon de Laravel

Laravel, fama pro sia eleganta sintakso kaj potencaj trajtoj, ankaŭ provizas solidan bazon por modula arkitekturo. Tie…

9 Majo 2024

Cisco Hypershield kaj akiro de Splunk La nova epoko de sekureco komenciĝas

Cisco kaj Splunk helpas klientojn akceli sian vojaĝon al la Sekureca Operacia Centro (SOC) de la estonteco kun...

8 Majo 2024

Preter la ekonomia flanko: la neevidente kosto de ransomware

Ransomware regis la novaĵojn dum la lastaj du jaroj. Plej multaj homoj bone scias, ke atakoj...

6 Majo 2024