Izihloko

I-Laravel: Yiziphi izilawuli ze-laravel

Ohlakeni lwe-MVC, uhlamvu "C" lumelela Abalawuli, futhi kulesi sihloko sizobona indlela yokusebenzisa Izilawuli ku-Laravel. Isebenza njengethrafikhi eqondile phakathi kokubuka namamodeli. Kulesi sihloko sibona indlela yokudala nokusetha izilawuli ku-Laravel.

Creare un controller ku-laravel

Ukwakha a controller, kufanele sivule umyalo womyalo noma ukuphela, ngokuya ngesistimu yokusebenza esiyisebenzisayo, bese uthayipha umyalo olandelayo ukuze udale isilawuli usebenzisa Artisan CLI (Command Line Interface).

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

Faka esikhundleni <controller-name> ngegama lakho controller. Lokhu kuzodala a controller. I- controller okudaliwe kungabukwa ku app/Http/Controllers .

Uzobona ukuthi ukubhala ngekhodi okuyisisekelo sekuvele kwenziwe kuwe futhi ungakwazi ukwengeza owakho amakhodi ngokwezifiso. I controller okudaliwe kungabizwa ku-web.php nge-syntax elandelayo.

-syntax
Route::get(‘base URI’,’controller@method’);
Ngokwesibonelo

1 : Qalisa umyalo olandelayo ukuze udale MyController

php artisan make:controller MyController

2 - Ngemuva kokwenza ngempumelelo, uzothola okukhiphayo okulandelayo.

3 - Sizothola isilawuli esidalwe ngaphakathi app/Http/Controller/MyController.php ngekhodi ethile eyisisekelo esivele ibhaliwe futhi singenza izinguquko njengoba kudingeka.

Isilawuli se-middleware

Sesiyibonile kakade i middleware futhi singayisebenzisa ne- controller. I- middleware ingase futhi yabelwe umzila wesilawuli noma ngaphakathi komakhi wesilawuli. Ungasebenzisa indlela middleware ukwabela i middleware al controller. I- middleware ukubhaliswa kungabuye kukhawulelwe ezindleleni ezithile ze controller.

Ukwabela i-middleware emzileni
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Lapha sabela ubuqiniso be-middleware ku-UserController endleleni yephrofayela.

Isabelo se-Middleware ngaphakathi komakhi wesilawuli
<?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');
   }
}

Lapha sinikeza i middleware lokufakazela ubuqiniso ngokusebenzisa indlela middleware kumakhi I-MyController .

Qaphela ukuthi $this->middleware() kuyasebenza kuphela uma ukwabela umakhi. Uma sifona $this->middleware() kusuka endleleni ethile yesilawuli, ngeke ilahle noma yimaphi amaphutha kodwa i-middleware ngeke isebenze empeleni.

Le nketho ivumelekile, kodwa mathupha ngincamela ukufaka zonke izinto eziphakathi ku routes, ngoba kucacile ukuthi ungabheka kuphi middleware.

Ngokwesibonelo

1 - Ake sengeze imigqa elandelayo yekhodi efayeleni imizila/web.php futhi siyasindisa.

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

2 – Ake sakhe a middleware ubizile FirstMiddleware ngokusebenzisa umugqa olandelayo wekhodi.

php artisan make:middleware FirstMiddleware

3 : engeza ikhodi elandelayo endleleni phatha i-del FirstMiddleware isanda kwakhiwa uhlelo lokusebenza/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 – Ake sakhe a middleware ubizile I-SecondMiddleware ngokusebenzisa umyalo olandelayo.

php artisan make:middleware SecondMiddleware

5 : ake sengeze ikhodi elandelayo endleleni yokubamba ye SecondMiddleware isanda kwakhiwa uhlelo lokusebenza/Http/Middleware .

Innovation newsletter
Ungaphuthelwa yizindaba ezibaluleke kakhulu zokuqamba. Bhalisa ukuze uthole nge-imeyili.
<?php

namespace App\Http\Middleware;
use Closure;

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

6 : asidale a controller ubizile I-MyController ngokusebenzisa umugqa olandelayo.

php artisan make:controller MyController

7 - Ngemuva kokuthi i-url isebenze ngempumelelo, uzothola okukhiphayo okulandelayo -

8 - Kopisha ikhodi elandelayo efayeleni 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 - Manje ake siqale iseva yewebhu yangaphakathi ye-php ngokusebenzisa umyalo olandelayo, uma ungakenzi.

php artisan serve

10 – Vakashela i-URL elandelayo.

http://localhost:8000/mycontroller/path

11 – Okukhiphayo kuzovela njengoba kukhonjisiwe esithombeni esilandelayo.

Cishe womabili ama-middlewares ahilelekile, kodwa eyodwa kuphela

Controller di restful resource

Ngokuvamile lapho udala uhlelo lokusebenza udinga ukwenza okuthile CRUD (Create, Read, Update, Delete)I-Laravel yenza lo msebenzi ube lula. Vele udale a controller futhi iLaravel izohlinzeka ngazo zonke izindlela zokusebenza ngokuzenzakalelayo CRUD. Futhi singarekhoda indlela eyodwa kuzo zonke izindlela efayeleni route.php.

Ngokwesibonelo

1 : dala isilawuli esibizwa MyController ngokusebenzisa umyalo olandelayo.

php artisan make:controller MyController

2 : engeza ikhodi elandelayo ku 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 – Ake sengeze umugqa olandelayo wekhodi efayeleni routes/web.php .

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

4 - Manje sesibhalisa zonke izindlela ze-MyController ngokubhalisa isilawuli ngesisetshenziswa. Ngezansi ithebula lezenzo eliphethwe isilawuli sensiza.

I-VerbIndlelaActionIgama lomzila
Thola/ wamiInkombainkomba yami
Thola/yami/dalaukudalayami.dala
I-POST/ wamiesitoloisitolo sami
Thola/yami/{yami}showumbukiso wami
Thola/my/{my}/edithlelayami.hlela
BHEKA/PATCH/yami/{yami}buyekezaukubuyekezwa.kwami
SUSA/yami/{yami}ukubhubhisachitha

5 – Zama ukusebenzisa ama-URL akhonjiswe kuthebula elingezansi.

I-URLDescrizionePhuma
http://localhost:8000/mySebenzisa indlela yenkomba ye-MyController.phpInkomba
http://localhost:8000/my/createSebenzisa indlela yokudala ye-MyController.phpcreare
http://localhost:8000/my/1Sebenzisa indlela yombukiso ye-MyController.phpshow
http://localhost:8000/my/1/editSebenzisa indlela yokuhlela ye-MyController.phphlela

Ercole Palmeri

Innovation newsletter
Ungaphuthelwa yizindaba ezibaluleke kakhulu zokuqamba. Bhalisa ukuze uthole nge-imeyili.

Izihloko zakamuva

Ubuhlakani bokwenziwa be-Google obusha bungakwazi ukwenza i-DNA, i-RNA kanye "nawo wonke ama-molecule empilo"

I-Google DeepMind yethula inguqulo ethuthukisiwe yemodeli yayo yobuhlakani bokwenziwa. Imodeli entsha ethuthukisiwe ayinikezi kuphela…

9 May 2024

Ukuhlola i-Laravel's Modular Architecture

I-Laravel, edume nge-syntax yayo enhle nezici ezinamandla, iphinde inikeze isisekelo esiqinile sokwakhiwa kwe-modular. Lapho…

9 May 2024

I-Cisco Hypershield kanye nokutholwa kwe-Splunk Inkathi entsha yokuphepha iyaqala

I-Cisco ne-Splunk zisiza amakhasimende ukuthi asheshise uhambo lwawo oluya ku-Security Operations Center (SOC) yesikhathi esizayo nge...

8 May 2024

Ngale kohlangothi lwezomnotho: izindleko ezingabonakali ze-ransomware

I-Ransomware iphethe izindaba kule minyaka emibili edlule. Iningi labantu lazi kahle ukuthi ukuhlasela...

6 May 2024

Ukungenelela okusha ku-Augmented Reality, ngesibukeli se-Apple e-Catania Polyclinic

Ukuhlinzwa kwe-ophthalmoplasty kusetshenziswa isibukeli sezentengiso se-Apple Vision Pro kwenziwa eCatania Polyclinic…

3 May 2024

Izinzuzo Zokufaka Umbala Amakhasi Ezingane - umhlaba womlingo wayo yonke iminyaka

Ukuthuthukisa amakhono amahle emisipha ngokusebenzisa imibala kulungiselela izingane amakhono ayinkimbinkimbi njengokubhala. Ukufaka umbala...

2 May 2024

Ikusasa Lilapha: Imboni Yezokuthumela Imikhumbi Iwuguqula Kanjani Umnotho Womhlaba

Umkhakha wezempi wasolwandle ungamandla ezomnotho weqiniso emhlabeni jikelele, osudlule wafinyelela emakethe yezigidigidi eziyi-150...

1 May 2024

Abashicileli kanye nezivumelwano ze-OpenAI zisayina ukuze zilawule ukuhamba kolwazi olucutshungulwa yi-Artificial Intelligence

NgoMsombuluko odlule, i-Financial Times imemezele isivumelwano ne-OpenAI. I-FT inikeza amalayisense ubuntatheli bayo obusezingeni lomhlaba…

30 April 2024