প্রবন্ধ

লারাভেল: লারাভেল কন্ট্রোলার কি?

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

এখানে আমরা প্রোফাইল পাথে 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/মিডলওয়্যার .

<?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 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-এর সমস্ত পদ্ধতি নিবন্ধন করছি। নীচে রিসোর্স কন্ট্রোলার দ্বারা পরিচালিত কর্মের সারণী রয়েছে।

ক্রিয়াপথকর্মরুটের নাম
পাওয়া/ আমারসূচকআমার সূচক
পাওয়া/আমার/তৈরি করুনসৃষ্টিmy.create
পোস্ট/ আমারদোকানআমার ভান্ডার
পাওয়া/আমার আমার}প্রদর্শনীআমার শো
পাওয়া/my/{my}/সম্পাদনাসম্পাদন করাআমার.সম্পাদনা
PUT/PATCH/আমার আমার}আপডেটেরআমার আপডেট
মুছে ফেলা/আমার আমার}ধ্বংসআমার. ধ্বংস

5 - নীচের টেবিলে দেখানো URLগুলি চালানোর চেষ্টা করুন৷

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

উদ্ভাবন নিউজলেটার
উদ্ভাবনের সবচেয়ে গুরুত্বপূর্ণ খবর মিস করবেন না। ইমেল দ্বারা তাদের পেতে সাইন আপ করুন.

সাম্প্রতিক নিবন্ধ

গুগলের নতুন কৃত্রিম বুদ্ধিমত্তা ডিএনএ, আরএনএ এবং "জীবনের সমস্ত অণু" মডেল করতে পারে

গুগল ডিপমাইন্ড তার কৃত্রিম বুদ্ধিমত্তা মডেলের একটি উন্নত সংস্করণ প্রবর্তন করছে। নতুন উন্নত মডেল না শুধুমাত্র প্রদান করে…

9 মে 2024

Laravel এর মডুলার আর্কিটেকচার অন্বেষণ

লারাভেল, তার মার্জিত সিনট্যাক্স এবং শক্তিশালী বৈশিষ্ট্যগুলির জন্য বিখ্যাত, এছাড়াও মডুলার আর্কিটেকচারের জন্য একটি শক্ত ভিত্তি প্রদান করে। সেখানে…

9 মে 2024

সিসকো হাইপারশিল্ড এবং স্প্লঙ্কের অধিগ্রহণ নিরাপত্তার নতুন যুগ শুরু হয়

Cisco এবং Splunk গ্রাহকদের ভবিষ্যতের নিরাপত্তা অপারেশন সেন্টারে (SOC) তাদের যাত্রা ত্বরান্বিত করতে সাহায্য করছে...

8 মে 2024

অর্থনৈতিক দিক পেরিয়ে: র্যানসমওয়্যারের অস্পষ্ট খরচ

র‍্যানসমওয়্যার গত দুই বছর ধরে খবরে আধিপত্য বিস্তার করেছে। বেশির ভাগ মানুষ ভালো করেই জানে যে আক্রমণ...

6 মে 2024

ক্যাটানিয়া পলিক্লিনিকে অ্যাপল দর্শকের সাথে অগমেন্টেড রিয়েলিটিতে উদ্ভাবনী হস্তক্ষেপ

অ্যাপল ভিশন প্রো কমার্শিয়াল ভিউয়ার ব্যবহার করে ক্যাটানিয়া পলিক্লিনিকে একটি চক্ষুরোগ অপারেশন করা হয়েছিল...

3 মে 2024

শিশুদের জন্য রঙিন পৃষ্ঠাগুলির উপকারিতা - সব বয়সের জন্য একটি জাদু বিশ্ব

রঙের মাধ্যমে সূক্ষ্ম মোটর দক্ষতার বিকাশ শিশুদের লেখার মতো জটিল দক্ষতার জন্য প্রস্তুত করে। রঙ…

2 মে 2024

ভবিষ্যত এখানে: শিপিং শিল্প কীভাবে বৈশ্বিক অর্থনীতিতে বিপ্লব ঘটাচ্ছে

নৌ সেক্টর একটি সত্যিকারের বৈশ্বিক অর্থনৈতিক শক্তি, যা 150 বিলিয়ন বাজারের দিকে নেভিগেট করেছে...

1 মে 2024

প্রকাশকরা এবং OpenAI কৃত্রিম বুদ্ধিমত্তা দ্বারা প্রক্রিয়াকৃত তথ্যের প্রবাহ নিয়ন্ত্রণ করতে চুক্তি স্বাক্ষর করে

গত সোমবার, ফাইন্যান্সিয়াল টাইমস ওপেনএআই-এর সাথে একটি চুক্তি ঘোষণা করেছে। FT তার বিশ্বমানের সাংবাদিকতার লাইসেন্স দেয়...

30 এপ্রিল 2024

আপনার ভাষায় উদ্ভাবন পড়ুন

উদ্ভাবন নিউজলেটার
উদ্ভাবনের সবচেয়ে গুরুত্বপূর্ণ খবর মিস করবেন না। ইমেল দ্বারা তাদের পেতে সাইন আপ করুন.

আমাদের অনুসরণ