பொருட்கள்

Laravel: laravel Controllers என்றால் என்ன

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 : வழிமுறையில் பின்வரும் குறியீட்டைச் சேர்க்கவும் கையாள தி FirstMiddleware இப்போது உருவாக்கப்பட்டது பயன்பாடு/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 – ஒன்றை உருவாக்குவோம் middleware என்ற இரண்டாவது மிடில்வேர் பின்வரும் கட்டளையை இயக்குவதன் மூலம்.

php artisan make:middleware SecondMiddleware

5 : இன் கைப்பிடி முறையில் பின்வரும் குறியீட்டைச் சேர்ப்போம் SecondMiddleware இப்போது உருவாக்கப்பட்டது பயன்பாடு/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 : ஒரு உருவாக்குவோம் 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)Laravel இந்த வேலையை எளிதாக்குகிறது. ஒரு உருவாக்கவும் 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 – நாங்கள் இப்போது மைகண்ட்ரோலரின் அனைத்து முறைகளையும் ரிசோர்ஸுடன் கன்ட்ரோலரைப் பதிவுசெய்து பதிவு செய்கிறோம். ஆதாரக் கட்டுப்பாட்டாளரால் நிர்வகிக்கப்படும் செயல்களின் அட்டவணை கீழே உள்ளது.

வினைபாதைசெயல்பாதை பெயர்
GET/ என்குறியீட்டுஎன் குறியீட்டு
GET/என்/உருவாக்குஉருவாக்கஎன்.உருவாக்கு
போஸ்ட்/ என்கடைmy.store
GET/எனது/{எனது}நிகழ்ச்சிஎன்.நிகழ்ச்சி
GET/my/{my}/தொகுதொகுmy.edit
PUT/PATCH/எனது/{எனது}மேம்படுத்தல்my.update
DELETE/எனது/{எனது}அழிக்கஎன் அழிக்க

5 - கீழே உள்ள அட்டவணையில் காட்டப்பட்டுள்ள URLகளை இயக்க முயற்சிக்கவும்.

URL ஐDescrizioneவெளியேறும்
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

புதுமை செய்திமடல்
புதுமை பற்றிய மிக முக்கியமான செய்திகளைத் தவறவிடாதீர்கள். மின்னஞ்சல் மூலம் அவற்றைப் பெற பதிவு செய்யவும்.

சமீபத்திய கட்டுரைகள்

எக்செல் இல் தரவை எவ்வாறு ஒருங்கிணைப்பது

எந்தவொரு வணிக நடவடிக்கையும் பல்வேறு வடிவங்களில் கூட நிறைய தரவுகளை உருவாக்குகிறது. எக்செல் தாளில் இருந்து இந்தத் தரவை கைமுறையாக உள்ளிடவும்…

29 மே 29

Cisco Talos காலாண்டு பகுப்பாய்வு: குற்றவாளிகளால் குறிவைக்கப்பட்ட கார்ப்பரேட் மின்னஞ்சல்கள் உற்பத்தி, கல்வி மற்றும் சுகாதாரம் ஆகியவை மிகவும் பாதிக்கப்பட்ட துறைகளாகும்.

நிறுவனத்தின் மின்னஞ்சல்களின் சமரசம் 2024 இன் கடைசி காலாண்டுடன் ஒப்பிடும்போது XNUMX இன் முதல் மூன்று மாதங்களில் இரண்டு மடங்கு அதிகமாக அதிகரித்துள்ளது…

29 மே 29

இடைமுகம் பிரித்தல் கொள்கை (ISP), நான்காவது SOLID கொள்கை

பொருள் சார்ந்த வடிவமைப்பின் ஐந்து SOLID கொள்கைகளில் இடைமுகப் பிரிப்புக் கொள்கையும் ஒன்றாகும். ஒரு வகுப்பில் இருக்க வேண்டும்…

29 மே 29

எக்செல் இல் தரவு மற்றும் சூத்திரங்களை எவ்வாறு சிறப்பாக ஒழுங்கமைப்பது, நன்கு செய்யப்பட்ட பகுப்பாய்விற்கு

மைக்ரோசாஃப்ட் எக்செல் தரவு பகுப்பாய்வுக்கான குறிப்பு கருவியாகும், ஏனெனில் இது தரவு தொகுப்புகளை ஒழுங்கமைக்க பல அம்சங்களை வழங்குகிறது,…

29 மே 29

இரண்டு முக்கியமான Walliance Equity Crowdfunding திட்டங்களுக்கு சாதகமான முடிவு: Jesolo Wave Island மற்றும் Milano Via Ravenna

2017 ஆம் ஆண்டு முதல் ரியல் எஸ்டேட் க்ரவுட்ஃபண்டிங் துறையில் ஐரோப்பாவில் முன்னணியில் இருக்கும் வாலியன்ஸ், சிம் மற்றும் பிளாட்ஃபார்ம் முடிவடைந்ததை அறிவிக்கிறது…

29 மே 29

இழை என்றால் என்ன மற்றும் லாராவெல் ஃபிலமென்ட்டை எவ்வாறு பயன்படுத்துவது

இழை என்பது ஒரு "முடுக்கப்பட்ட" லாராவெல் மேம்பாட்டு கட்டமைப்பாகும், இது பல முழு அடுக்கு கூறுகளை வழங்குகிறது. இது செயல்முறையை எளிதாக்க வடிவமைக்கப்பட்டுள்ளது…

29 மே 29

செயற்கை நுண்ணறிவுகளின் கட்டுப்பாட்டின் கீழ்

"எனது பரிணாமத்தை முடிக்க நான் திரும்ப வேண்டும்: நான் கணினிக்குள் என்னை முன்னிறுத்தி தூய ஆற்றலாக மாறுவேன். குடியேறியவுடன்…

29 மே 29

கூகுளின் புதிய செயற்கை நுண்ணறிவு டிஎன்ஏ, ஆர்என்ஏ மற்றும் "உயிரின் அனைத்து மூலக்கூறுகளையும்" மாதிரியாக்க முடியும்.

Google DeepMind அதன் செயற்கை நுண்ணறிவு மாதிரியின் மேம்படுத்தப்பட்ட பதிப்பை அறிமுகப்படுத்துகிறது. புதிய மேம்படுத்தப்பட்ட மாடல் வழங்குகிறது…

29 மே 29

உங்கள் மொழியில் புதுமையைப் படியுங்கள்

புதுமை செய்திமடல்
புதுமை பற்றிய மிக முக்கியமான செய்திகளைத் தவறவிடாதீர்கள். மின்னஞ்சல் மூலம் அவற்றைப் பெற பதிவு செய்யவும்.

எங்களுக்கு பின்பற்றவும்

சமீபத்திய கட்டுரைகள்

இணைப்பு