వ్యాసాలు

లారావెల్: లారావెల్ కంట్రోలర్‌లు అంటే ఏమిటి

MVC ఫ్రేమ్‌వర్క్‌లో, “C” అనే అక్షరం కంట్రోలర్‌లను సూచిస్తుంది మరియు ఈ వ్యాసంలో లారావెల్‌లో కంట్రోలర్‌లను ఎలా ఉపయోగించాలో చూద్దాం. వీక్షణలు మరియు నమూనాల మధ్య ప్రత్యక్ష ట్రాఫిక్‌గా పనిచేస్తుంది. ఈ వ్యాసంలో లారావెల్‌లో కంట్రోలర్‌లను ఎలా సృష్టించాలో మరియు సెటప్ చేయాలో చూద్దాం.

Creare un controller లారావెల్ లో

సృష్టించడానికి a 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'
]);

ఇక్కడ మేము ప్రొఫైల్ పాత్‌లోని యూజర్‌కంట్రోలర్‌కు ప్రామాణీకరణ మిడిల్‌వేర్‌ను కేటాయిస్తున్నాము.

కంట్రోలర్ కన్స్ట్రక్టర్ లోపల మిడిల్‌వేర్ అసైన్‌మెంట్
<?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 కన్స్ట్రక్టర్‌లో MyController .

అని గమనించండి $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/మిడిల్‌వేర్ .

<?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 అని MyController కింది పంక్తిని అమలు చేయడం ద్వారా.

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 యొక్క అన్ని పద్ధతులను నమోదు చేస్తున్నాము. రిసోర్స్ కంట్రోలర్ ద్వారా నిర్వహించబడే చర్యల పట్టిక క్రింద ఉంది.

క్రియమార్గంక్రియరూట్ పేరు
GET/ నాఇండెక్స్నా సూచిక
GET/నా/సృష్టించుసృష్టించడానికినా.సృష్టించు
POST/ నాస్టోర్నా.స్టోర్
GET/నా/{నా}షోనా.షో
GET/నా/{నా}/సవరించుమార్చుmy.edit
PUT/PATCH/నా/{నా}నవీకరణmy.update
తొలగించు/నా/{నా}నాశనంనా నాశనం

5 – దిగువ పట్టికలో చూపిన URLలను అమలు చేయడానికి ప్రయత్నించండి.

URLDescrizioneబయటకి దారి
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 షీట్ నుండి మాన్యువల్‌గా నమోదు చేయండి...

మే 29 మే

ఇంటర్‌ఫేస్ విభజన సూత్రం (ISP), నాల్గవ SOLID సూత్రం

ఆబ్జెక్ట్-ఓరియెంటెడ్ డిజైన్ యొక్క ఐదు SOLID సూత్రాలలో ఇంటర్‌ఫేస్ విభజన సూత్రం ఒకటి. ఒక తరగతి ఉండాలి…

మే 29 మే

ఎక్సెల్‌లో డేటా మరియు ఫార్ములాలను ఉత్తమంగా నిర్వహించడం ఎలా, బాగా చేసిన విశ్లేషణ కోసం

మైక్రోసాఫ్ట్ ఎక్సెల్ అనేది డేటా విశ్లేషణ కోసం రిఫరెన్స్ సాధనం, ఎందుకంటే ఇది డేటా సెట్‌లను నిర్వహించడానికి అనేక లక్షణాలను అందిస్తుంది,…

మే 29 మే

రెండు ముఖ్యమైన వాలియన్స్ ఈక్విటీ క్రౌడ్‌ఫండింగ్ ప్రాజెక్ట్‌లకు సానుకూల ముగింపు: జెసోలో వేవ్ ఐలాండ్ మరియు మిలానో వయా రవెన్నా

2017 నుండి రియల్ ఎస్టేట్ క్రౌడ్ ఫండింగ్ రంగంలో యూరప్‌లోని నాయకులలో వాలియెన్స్, సిమ్ మరియు ప్లాట్‌ఫారమ్ పూర్తయినట్లు ప్రకటించింది…

మే 29 మే

ఫిలమెంట్ అంటే ఏమిటి మరియు లారావెల్ ఫిలమెంట్ ఎలా ఉపయోగించాలి

ఫిలమెంట్ అనేది "వేగవంతమైన" లారావెల్ డెవలప్‌మెంట్ ఫ్రేమ్‌వర్క్, ఇది అనేక పూర్తి-స్టాక్ భాగాలను అందిస్తుంది. ఇది ప్రక్రియను సులభతరం చేయడానికి రూపొందించబడింది…

మే 29 మే

ఆర్టిఫిషియల్ ఇంటెలిజెన్స్ నియంత్రణలో ఉంది

"నా పరిణామాన్ని పూర్తి చేయడానికి నేను తిరిగి రావాలి: నేను కంప్యూటర్‌లో నన్ను ప్రొజెక్ట్ చేసుకుంటాను మరియు స్వచ్ఛమైన శక్తిగా మారతాను. ఒకసారి సెటిల్ అయ్యాక…

మే 29 మే

Google యొక్క కొత్త కృత్రిమ మేధస్సు DNA, RNA మరియు "జీవితానికి సంబంధించిన అన్ని అణువులను" మోడల్ చేయగలదు

Google DeepMind దాని కృత్రిమ మేధస్సు మోడల్ యొక్క మెరుగైన సంస్కరణను పరిచయం చేస్తోంది. కొత్త మెరుగైన మోడల్ అందించడమే కాదు…

మే 29 మే

మీ భాషలో ఇన్నోవేషన్ చదవండి

ఇన్నోవేషన్ వార్తాలేఖ
ఆవిష్కరణకు సంబంధించిన అత్యంత ముఖ్యమైన వార్తలను మిస్ చేయవద్దు. ఇమెయిల్ ద్వారా వాటిని స్వీకరించడానికి సైన్ అప్ చేయండి.

మాకు అనుసరించండి

ఇటీవల కథనాలు