ፅሁፎች

ላራቬል: ላራቬል መቆጣጠሪያዎች ምንድን ናቸው

በ MVC ማዕቀፍ ውስጥ "C" የሚለው ፊደል ተቆጣጣሪዎች ማለት ነው, እና በዚህ ጽሑፍ ውስጥ በላራቬል ውስጥ ተቆጣጣሪዎችን እንዴት መጠቀም እንደሚቻል እንመለከታለን. በእይታ እና ሞዴሎች መካከል እንደ ቀጥተኛ ትራፊክ ይሠራል። በዚህ ጽሑፍ ውስጥ በላራቬል ውስጥ መቆጣጠሪያዎችን እንዴት መፍጠር እና ማዋቀር እንደሚቻል እንመለከታለን.

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'
]);

እዚህ የማረጋገጫ ሚድልዌርን በመገለጫ ዱካ ላይ ለተጠቃሚ መቆጣጠሪያ እየመደብን ነው።

በመቆጣጠሪያው ገንቢ ውስጥ የመሃል ዌር ምደባ
<?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 ውስጥ ብቻ ተፈጠረ መተግበሪያ/ኤችቲቲፒ/ሚድልዌር .

<?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 ውስጥ ብቻ ተፈጠረ መተግበሪያ/ኤችቲቲፒ/ሚድልዌር .

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።
<?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 - ዩአርኤል በተሳካ ሁኔታ ከሰራ በኋላ የሚከተለውን ውጤት ያገኛሉ -

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 እና ላራቬል ሁሉንም የአሠራር ዘዴዎች በራስ-ሰር ያቀርባል 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 ዘዴዎችን እየመዘገብን ነው። ከታች በሃብት ተቆጣጣሪ የሚተዳደር የድርጊት ሠንጠረዥ ነው።

ግስዱካእርምጃየመንገድ ስም
አግኝ/ የኔመረጃ ጠቋሚየእኔ. ኢንዴክስ
አግኝ/የእኔ/ ፍጠርፈጠረየእኔ.መፍጠር
POST/ የኔመደብርየእኔ.መደብር
አግኝ/የእኔ/{የእኔ}አሳይየእኔ. ትዕይንት
አግኝ/my/{my}/አርትዕአርትዕየእኔ. አርትዕ
PUT/PATCH/የእኔ/{የእኔ}ዝማኔየእኔ.ዝማኔ
ሰርዝ/የእኔ/{የእኔ}አጥፋየእኔ. ማጥፋት

5 - ከታች ባለው ሠንጠረዥ ውስጥ የሚታዩትን ዩአርኤሎች ለማሄድ ይሞክሩ።

ዩ አር ኤልመግለጫውጣ
http://localhost:8000/myየMyController.php ማውጫ ዘዴን ያስፈጽሙመረጃ ጠቋሚ
http://localhost:8000/my/createየMyController.php የመፍጠር ዘዴን ያስፈጽሙፈጠር
http://localhost:8000/my/1የMyController.php የማሳያ ዘዴን ያስፈጽሙአሳይ
http://localhost:8000/my/1/editየMyController.php የአርትዖት ዘዴን ያስፈጽሙአርትዕ

Ercole Palmeri

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

የቅርብ ጊዜ ጽሁፎች

በ Excel ውስጥ ውሂብን እና ቀመሮችን እንዴት በተሻለ ሁኔታ ማደራጀት እንደሚቻል ፣ ለጥሩ ትንተና

ማይክሮሶፍት ኤክሴል የመረጃ ስብስቦችን ለማደራጀት ብዙ ባህሪያትን ስለሚሰጥ የመረጃ ትንተና ዋቢ መሳሪያ ነው…

14 May 2024

ለሁለት አስፈላጊ ዋልያንስ ፍትሃዊነት Crowdfunding ፕሮጀክቶች አዎንታዊ መደምደሚያ: Jesolo Wave Island እና Milano Via Ravenna

ከ 2017 ጀምሮ በሪል እስቴት Crowdfunding መስክ በአውሮፓ ውስጥ ካሉ መሪዎች መካከል ዋሊያንስ ፣ ሲም እና መድረክ ማጠናቀቁን ያስታውቃል…

13 May 2024

Filament ምንድን ነው እና Laravel Filament እንዴት መጠቀም እንደሚቻል

Filament "የተጣደፈ" የላራቬል ልማት ማዕቀፍ ነው, በርካታ ሙሉ-ቁልል ክፍሎችን ያቀርባል. ሂደቱን ለማቃለል የተነደፈ ነው…

13 May 2024

በአርቴፊሻል ኢንተለጀንስ ቁጥጥር ስር

"የእኔን ዝግመተ ለውጥ ለማጠናቀቅ መመለስ አለብኝ፡ እራሴን በኮምፒዩተር ውስጥ አቀርባለሁ እና ንጹህ ሃይል እሆናለሁ። አንዴ ከተቀመጠ…

10 May 2024

የጉግል አዲስ ሰው ሰራሽ የማሰብ ችሎታ ዲኤንኤ፣ አር ኤን ኤ እና "ሁሉንም የህይወት ሞለኪውሎች" ሞዴል ማድረግ ይችላል።

ጎግል DeepMind የተሻሻለ የአርቴፊሻል ኢንተለጀንስ ሞዴሉን እያስተዋወቀ ነው። አዲሱ የተሻሻለው ሞዴል ብቻ ሳይሆን…

9 May 2024

የLaravel's Modular Architectureን ማሰስ

በሚያማምሩ አገባብ እና ኃይለኛ ባህሪያት ዝነኛ የሆነው ላራቬል ለሞዱላር አርክቴክቸርም ጠንካራ መሰረት ይሰጣል። እዚያ…

9 May 2024

Cisco Hypershield እና Splunk ማግኘት አዲሱ የደህንነት ዘመን ይጀምራል

Cisco እና Splunk ደንበኞቻቸው ወደ የደህንነት ኦፕሬሽን ሴንተር (SOC) በ…

8 May 2024

ከኢኮኖሚው ጎን፡ ግልጽ ያልሆነው የቤዛውዌር ዋጋ

Ransomware ላለፉት ሁለት ዓመታት የዜናውን የበላይነት ተቆጣጥሮታል። ብዙ ሰዎች ጥቃት እንደሚደርስባቸው ጠንቅቀው ያውቃሉ…

6 May 2024

ፈጠራን በቋንቋዎ ያንብቡ

የኢኖቬሽን ጋዜጣ
በፈጠራ ላይ በጣም አስፈላጊ የሆነውን ዜና እንዳያመልጥዎት። በኢሜል ለመቀበል ይመዝገቡ።

ይከተሉን