ലേഖനങ്ങൾ

ലാറവെൽ: എന്താണ് ലാറവൽ കൺട്രോളറുകൾ

MVC ചട്ടക്കൂടിൽ, "C" എന്ന അക്ഷരം കൺട്രോളറുകളെ സൂചിപ്പിക്കുന്നു, ഈ ലേഖനത്തിൽ Laravel-ൽ കൺട്രോളറുകൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നോക്കാം. കാഴ്ചകൾക്കും മോഡലുകൾക്കുമിടയിൽ നേരിട്ടുള്ള ട്രാഫിക്കായി പ്രവർത്തിക്കുന്നു. Laravel-ൽ കൺട്രോളറുകൾ എങ്ങനെ സൃഷ്ടിക്കാമെന്നും സജ്ജീകരിക്കാമെന്നും ഈ ലേഖനത്തിൽ നമ്മൾ കാണുന്നു.

Creare un controller ലാരാവലിൽ

സൃഷ്ടിക്കാൻ എ controller, നമ്മൾ ഉപയോഗിക്കുന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അനുസരിച്ച് കമാൻഡ് പ്രോംപ്റ്റോ ടെർമിനലോ തുറന്ന് കൺട്രോളർ സൃഷ്ടിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യണം Artisan CLI (Command Line Interface).

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

മാറ്റിസ്ഥാപിക്കുക <controller-name> നിങ്ങളുടെ പേരിനൊപ്പം controller. ഇത് ഒരു സൃഷ്ടിക്കും controller. ദി controller സൃഷ്ടിച്ചത് കാണാൻ കഴിയും app/Http/Controllers .

നിങ്ങൾക്കായി ചില അടിസ്ഥാന കോഡിംഗ് ഇതിനകം ചെയ്തുകഴിഞ്ഞതായി നിങ്ങൾ കാണും കൂടാതെ നിങ്ങൾക്ക് നിങ്ങളുടെ സ്വന്തം ഇഷ്‌ടാനുസൃത കോഡിംഗ് ചേർക്കാനും കഴിയും. ദി controller സൃഷ്ടിച്ചത് ഇനിപ്പറയുന്ന വാക്യഘടന ഉപയോഗിച്ച് web.php-ൽ നിന്ന് വിളിക്കാം.

വാക്യഘടന
Route::get(‘base URI’,’controller@method’);
ഉദാഹരണം

1 : സൃഷ്ടിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക MyController

php artisan make:controller MyController

2 - വിജയകരമായി നടപ്പിലാക്കിയ ശേഷം, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഔട്ട്പുട്ട് ലഭിക്കും.

3 - സൃഷ്ടിച്ച കൺട്രോളർ ഞങ്ങൾ കണ്ടെത്തും app/Http/Controller/MyController.php ചില അടിസ്ഥാന കോഡ് ഇതിനകം എഴുതിയിട്ടുണ്ട്, ആവശ്യാനുസരണം മാറ്റങ്ങൾ വരുത്താം.

കൺട്രോളർ മിഡിൽവെയർ

ഞങ്ങൾ ഇതിനകം കണ്ടു middleware ഒപ്പം നമുക്കത് ഉപയോഗിക്കാനും കഴിയും controller. ദി middleware ഇത് കൺട്രോളർ റൂട്ടിലേക്കോ കൺട്രോളർ കൺസ്ട്രക്റ്ററിനുള്ളിലോ നൽകാം. നിങ്ങൾക്ക് രീതി ഉപയോഗിക്കാം middleware അസൈൻ ചെയ്യാൻ middleware al controller. ദി middleware രജിസ്ട്രേഷൻ ചില രീതികളിലേക്ക് പരിമിതപ്പെടുത്താം controller.

റൂട്ടിലേക്ക് മിഡിൽവെയർ അസൈൻ ചെയ്യുന്നു
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

പ്രൊഫൈൽ പാതയിലെ UserController-ന് ഇവിടെ ഞങ്ങൾ പ്രാമാണീകരണ മിഡിൽവെയർ നൽകുന്നു.

കൺട്രോളർ കൺസ്ട്രക്റ്ററിനുള്ളിലെ മിഡിൽവെയർ അസൈൻമെന്റ്
<?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');
   }
}

ഇവിടെ ഞങ്ങൾ അസൈൻ ചെയ്യുന്നു middleware ആധികാരികതയുടെ രീതി ഉപയോഗിച്ച് middleware കൺസ്ട്രക്റ്ററിൽ മൈ കൺട്രോളർ .

അതല്ല $this->middleware() ഇത് പ്രവർത്തിക്കുന്നു ഏകാംഗ നിങ്ങൾ അത് കൺസ്ട്രക്റ്ററിൽ അസൈൻ ചെയ്യുകയാണെങ്കിൽ. നമ്മൾ വിളിച്ചാൽ $this->middleware() ഒരു നിർദ്ദിഷ്‌ട കൺട്രോളർ രീതിയിൽ നിന്ന്, ഇത് പിശകുകളൊന്നും വരുത്തില്ല, എന്നാൽ മിഡിൽവെയർ യഥാർത്ഥത്തിൽ പ്രവർത്തിക്കില്ല.

ഈ ഓപ്ഷൻ സാധുവാണ്, പക്ഷേ വ്യക്തിപരമായി എല്ലാ മിഡിൽവെയറുകളും ഇടാൻ ഞാൻ ആഗ്രഹിക്കുന്നു routes, കാരണം എല്ലാം എവിടെയാണ് തിരയേണ്ടത് എന്നത് കൂടുതൽ വ്യക്തമാണ് middleware.

ഉദാഹരണം

1 – നമുക്ക് ഇനിപ്പറയുന്ന കോഡിന്റെ വരികൾ ഫയലിലേക്ക് ചേർക്കാം റൂട്ടുകൾ/web.php ഞങ്ങൾ സംരക്ഷിക്കുകയും ചെയ്യുന്നു.

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

2 – നമുക്ക് ഒരു സൃഷ്ടിക്കാം middleware വിളിച്ചു FirstMiddleware ഇനിപ്പറയുന്ന കോഡിന്റെ വരി പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ.

php artisan make:middleware FirstMiddleware

3 : താഴെ പറയുന്ന കോഡ് മെത്തേഡിൽ ചേർക്കുക കൈകാര്യം ചെയ്യുക Del FirstMiddleware ഇപ്പോൾ സൃഷ്ടിച്ചത് അപ്ലിക്കേഷൻ/Http/മിഡിൽവെയർ .

<?php

namespace App\Http\Middleware;
use Closure;

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

4 – നമുക്ക് ഒരു സൃഷ്ടിക്കാം middleware വിളിച്ചു സെക്കൻഡ് മിഡിൽവെയർ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ.

php artisan make:middleware SecondMiddleware

5 :-യുടെ ഹാൻഡിൽ രീതിയിൽ ഇനിപ്പറയുന്ന കോഡ് ചേർക്കാം SecondMiddleware ഇപ്പോൾ സൃഷ്ടിച്ചത് അപ്ലിക്കേഷൻ/Http/മിഡിൽവെയർ .

ഇന്നൊവേഷൻ വാർത്താക്കുറിപ്പ്
നവീകരണത്തെക്കുറിച്ചുള്ള ഏറ്റവും പ്രധാനപ്പെട്ട വാർത്തകൾ നഷ്ടപ്പെടുത്തരുത്. ഇമെയിൽ വഴി അവ സ്വീകരിക്കുന്നതിന് സൈൻ അപ്പ് ചെയ്യുക.
<?php

namespace App\Http\Middleware;
use Closure;

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

6 : നമുക്ക് ഒരു സൃഷ്ടിക്കാം controller വിളിച്ചു മൈ കൺട്രോളർ ഇനിപ്പറയുന്ന വരി പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ.

php artisan make:controller MyController

7 - url വിജയകരമായി നടപ്പിലാക്കിയ ശേഷം, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഔട്ട്പുട്ട് ലഭിക്കും -

8 - ഫയലിലേക്ക് ഇനിപ്പറയുന്ന കോഡ് പകർത്തുക 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 – ഇപ്പോൾ താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് php ഇന്റേണൽ വെബ് സെർവർ ആരംഭിക്കാം, നിങ്ങൾ ഇതിനകം ചെയ്തിട്ടില്ലെങ്കിൽ.

php artisan serve

10 - ഇനിപ്പറയുന്ന URL സന്ദർശിക്കുക.

http://localhost:8000/mycontroller/path

11 - ഇനിപ്പറയുന്ന ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഔട്ട്പുട്ട് ദൃശ്യമാകും.

ഫലത്തിൽ രണ്ട് മിഡിൽവെയറുകളും ഉൾപ്പെടുന്നു, പക്ഷേ ഒന്ന് മാത്രം

Controller di restful resource

പലപ്പോഴും ഒരു ആപ്ലിക്കേഷൻ സൃഷ്ടിക്കുമ്പോൾ നിങ്ങൾ എന്തെങ്കിലും ചെയ്യേണ്ടതുണ്ട് CRUD (Create, Read, Update, Delete)ലാറവെൽ ഈ ജോലി എളുപ്പമാക്കുന്നു. ഒരു സൃഷ്ടിക്കുക controller ഒപ്പം Laravel പ്രവർത്തനങ്ങളുടെ എല്ലാ രീതികളും സ്വയമേവ നൽകും CRUD. ഫയലിലെ എല്ലാ രീതികളിലേക്കും നമുക്ക് ഒരൊറ്റ പാത്ത് രേഖപ്പെടുത്താനും കഴിയും route.php.

ഉദാഹരണം

1 : എന്നൊരു കൺട്രോളർ സൃഷ്ടിക്കുക MyController ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ.

php artisan make:controller MyController

2 : ഇനിപ്പറയുന്ന കോഡ് ചേർക്കുക 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 – ഫയലിൽ കോഡിന്റെ ഇനിപ്പറയുന്ന വരി ചേർക്കാം routes/web.php .

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

4 - റിസോഴ്‌സ് ഉപയോഗിച്ച് ഒരു കൺട്രോളർ രജിസ്റ്റർ ചെയ്തുകൊണ്ട് ഞങ്ങൾ ഇപ്പോൾ MyController-ന്റെ എല്ലാ രീതികളും രജിസ്റ്റർ ചെയ്യുന്നു. റിസോഴ്‌സ് കൺട്രോളർ നിയന്ത്രിക്കുന്ന പ്രവർത്തനങ്ങളുടെ പട്ടിക ചുവടെയുണ്ട്.

ക്രിയപാതആക്ഷൻറൂട്ടിന്റെ പേര്
നേടുക/ enteസൂചികഎന്റെ സൂചിക
നേടുക/എന്റെ/സൃഷ്ടിക്കുകസൃഷ്ടിക്കാൻഎന്റെ.സൃഷ്ടിക്കുക
പോസ്റ്റ്/ enteസ്റ്റോർഎന്റെ.സ്റ്റോർ
നേടുക/എന്റെ എന്റെ}കാണിക്കുകmy.show
നേടുക/എന്റെ/{my}/എഡിറ്റ്തിരുത്തുകmy.edit
പുട്ട്/പാച്ച്/എന്റെ എന്റെ}അപ്ഡേറ്റ്my.update
ഇല്ലാതാക്കും/എന്റെ എന്റെ}നശിപ്പിക്കുകനശിപ്പിക്കുക

5 - ചുവടെയുള്ള പട്ടികയിൽ കാണിച്ചിരിക്കുന്ന URL-കൾ പ്രവർത്തിപ്പിക്കാൻ ശ്രമിക്കുക.

യുആർഎൽവിവരണംപുറത്ത്
http://localhost:8000/myMyController.php-ന്റെ സൂചിക രീതി നടപ്പിലാക്കുകസൂചിക
http://localhost:8000/my/createMyController.php-ന്റെ സൃഷ്‌ടി രീതി നടപ്പിലാക്കുകഉണ്ടാക്കുക
http://localhost:8000/my/1MyController.php-ന്റെ പ്രദർശന രീതി നടപ്പിലാക്കുകകാണിക്കുക
http://localhost:8000/my/1/editMyController.php-ന്റെ എഡിറ്റ് രീതി നടപ്പിലാക്കുകതിരുത്തുക

Ercole Palmeri

ഇന്നൊവേഷൻ വാർത്താക്കുറിപ്പ്
നവീകരണത്തെക്കുറിച്ചുള്ള ഏറ്റവും പ്രധാനപ്പെട്ട വാർത്തകൾ നഷ്ടപ്പെടുത്തരുത്. ഇമെയിൽ വഴി അവ സ്വീകരിക്കുന്നതിന് സൈൻ അപ്പ് ചെയ്യുക.

സമീപകാല ലേഖനങ്ങൾ

മികച്ച വിശകലനത്തിനായി Excel-ൽ ഡാറ്റയും ഫോർമുലകളും എങ്ങനെ മികച്ച രീതിയിൽ ക്രമീകരിക്കാം

ഡാറ്റാ വിശകലനത്തിനുള്ള റഫറൻസ് ടൂളാണ് Microsoft Excel, കാരണം ഇത് ഡാറ്റാ സെറ്റുകൾ സംഘടിപ്പിക്കുന്നതിന് നിരവധി സവിശേഷതകൾ വാഗ്ദാനം ചെയ്യുന്നു,…

20 മെയ് 2013

രണ്ട് പ്രധാനപ്പെട്ട വാലിയൻസ് ഇക്വിറ്റി ക്രൗഡ് ഫണ്ടിംഗ് പ്രോജക്റ്റുകൾക്ക് അനുകൂലമായ നിഗമനം: ജെസോളോ വേവ് ഐലൻഡ്, മിലാനോ വയാ റവെന്ന

2017 മുതൽ റിയൽ എസ്റ്റേറ്റ് ക്രൗഡ് ഫണ്ടിംഗ് മേഖലയിലെ യൂറോപ്പിലെ നേതാക്കൾക്കിടയിൽ വാലിയൻസ്, സിം, പ്ലാറ്റ്‌ഫോം എന്നിവ പൂർത്തിയായതായി പ്രഖ്യാപിക്കുന്നു…

20 മെയ് 2013

എന്താണ് ഫിലമെൻ്റ്, ലാറവൽ ഫിലമെൻ്റ് എങ്ങനെ ഉപയോഗിക്കാം

ഫിലമെൻ്റ് ഒരു "ത്വരിതപ്പെടുത്തിയ" ലാറവെൽ വികസന ചട്ടക്കൂടാണ്, ഇത് നിരവധി പൂർണ്ണ-സ്റ്റാക്ക് ഘടകങ്ങൾ നൽകുന്നു. പ്രക്രിയ ലളിതമാക്കുന്നതിനാണ് ഇത് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്…

20 മെയ് 2013

ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസിൻ്റെ നിയന്ത്രണത്തിലാണ്

"എൻ്റെ പരിണാമം പൂർത്തിയാക്കാൻ ഞാൻ മടങ്ങിവരണം: കമ്പ്യൂട്ടറിനുള്ളിൽ ഞാൻ എന്നെത്തന്നെ പ്രൊജക്റ്റ് ചെയ്യുകയും ശുദ്ധമായ ഊർജ്ജമായി മാറുകയും ചെയ്യും. ഒരിക്കൽ സ്ഥിരതാമസമാക്കിയ…

20 മെയ് 2013

ഗൂഗിളിൻ്റെ പുതിയ ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസിന് ഡിഎൻഎ, ആർഎൻഎ, ജീവൻ്റെ എല്ലാ തന്മാത്രകളെയും മാതൃകയാക്കാനാകും.

ഗൂഗിൾ ഡീപ് മൈൻഡ് അതിൻ്റെ ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ് മോഡലിൻ്റെ മെച്ചപ്പെട്ട പതിപ്പ് അവതരിപ്പിക്കുന്നു. പുതിയ മെച്ചപ്പെട്ട മോഡൽ നൽകുന്നത് മാത്രമല്ല…

20 മെയ് 2013

ലാറവലിൻ്റെ മോഡുലാർ ആർക്കിടെക്ചർ പര്യവേക്ഷണം ചെയ്യുന്നു

ഗംഭീരമായ വാക്യഘടനയ്ക്കും ശക്തമായ സവിശേഷതകൾക്കും പേരുകേട്ട ലാറവെൽ, മോഡുലാർ ആർക്കിടെക്ചറിന് ശക്തമായ അടിത്തറയും നൽകുന്നു. അവിടെ…

20 മെയ് 2013

സിസ്കോ ഹൈപ്പർഷീൽഡും സ്പ്ലങ്ക് ഏറ്റെടുക്കലും സുരക്ഷയുടെ പുതിയ യുഗം ആരംഭിക്കുന്നു

ഭാവിയിലെ സെക്യൂരിറ്റി ഓപ്പറേഷൻസ് സെൻ്ററിലേക്കുള്ള (എസ്ഒസി) യാത്ര ത്വരിതപ്പെടുത്താൻ സിസ്‌കോയും സ്പ്ലങ്കും ഉപഭോക്താക്കളെ സഹായിക്കുന്നു...

20 മെയ് 2013

സാമ്പത്തിക വശത്തിനപ്പുറം: ransomware-ൻ്റെ അവ്യക്തമായ ചിലവ്

കഴിഞ്ഞ രണ്ട് വർഷമായി വാർത്തകളിൽ ആധിപത്യം പുലർത്തുന്നത് റാൻസംവെയറാണ്. ആക്രമണങ്ങൾ എന്ന് മിക്കവർക്കും നന്നായി അറിയാം...

20 മെയ് 2013

നിങ്ങളുടെ ഭാഷയിൽ ഇന്നൊവേഷൻ വായിക്കുക

ഇന്നൊവേഷൻ വാർത്താക്കുറിപ്പ്
നവീകരണത്തെക്കുറിച്ചുള്ള ഏറ്റവും പ്രധാനപ്പെട്ട വാർത്തകൾ നഷ്ടപ്പെടുത്തരുത്. ഇമെയിൽ വഴി അവ സ്വീകരിക്കുന്നതിന് സൈൻ അപ്പ് ചെയ്യുക.

പിന്തുടരുക ഞങ്ങളെ