এই লক্ষ্যটি বিভিন্ন পদ্ধতির মাধ্যমে অর্জন করতে পারে,
1. বেসকন্ট্রোলার ব্যবহার করা
আমি যেভাবে জিনিসগুলি সেট আপ করতে চাই, আমি একটি BaseController
বর্গ তৈরি করি যা লারাভেলের নিজস্ব প্রসারিত করে Controller
এবং সেখানে বিভিন্ন বিশ্বব্যাপী জিনিসগুলি সেট আপ করি। অন্য সমস্ত কন্ট্রোলার তারপরে BaseController
লারাভেলের কন্ট্রোলারের চেয়ে প্রসারিত হয় ।
class BaseController extends Controller
{
public function __construct()
{
//its just a dummy data object.
$user = User::all();
// Sharing is caring
View::share('user', $user);
}
}
ফিল্টার ব্যবহার 2
আপনি যদি কোনও সত্যের জন্য জানেন যে আপনি পুরো অ্যাপ্লিকেশন জুড়ে প্রতিটি অনুরোধের উপর মতামতের জন্য কিছু সেট আপ করতে চান, তবে আপনি এটি ফিল্টারের মাধ্যমেও করতে পারেন যা অনুরোধের আগে চলে - লারাভেলের ইউজার অবজেক্টের সাথে এটিই আমি আচরণ করি।
App::before(function($request)
{
// Set up global user object for views
View::share('user', User::all());
});
অথবা
আপনি নিজের ফিল্টারটি নির্ধারণ করতে পারেন
Route::filter('user-filter', function() {
View::share('user', User::all());
});
এবং এটিকে সাধারণ ফিল্টার কলিংয়ের মাধ্যমে কল করুন।
সংস্করণ 5 অনুযায়ী আপডেট করুন
৩. মিডলওয়্যার ব্যবহার করা
এর View::share
সাথে ব্যবহার করা হচ্ছেmiddleware
Route::group(['middleware' => 'SomeMiddleware'], function(){
// routes
});
class SomeMiddleware {
public function handle($request)
{
\View::share('user', auth()->user());
}
}
৪. ভিউ রচয়িতা ব্যবহার করে
সুরকার দেখুন বিভিন্ন উপায়ে নির্দিষ্ট ডেটা বাঁধতেও সহায়তা করে। আপনি সরাসরি নির্দিষ্ট দর্শন বা সমস্ত দর্শনগুলিতে পরিবর্তনশীলকে বাঁধতে পারেন। উদাহরণস্বরূপ আপনি প্রয়োজন অনুযায়ী আপনার ভিউ সুরকার ফাইল সংরক্ষণ করতে আপনার নিজস্ব ডিরেক্টরি তৈরি করতে পারেন। এবং এই ভিউ রচয়িতা ফাইল পরিষেবার মাধ্যমে দর্শনের সাথে ইন্টারঅ্যাক্ট করে।
সুরকারের পদ্ধতিটি বিভিন্ন উপায়ে ব্যবহার করতে পারে দেখুন, প্রথম উদাহরণটি একই রকম দেখতে পারে:
আপনি একটি App\Http\ViewComposers
ডিরেক্টরি তৈরি করতে পারে ।
সেবা প্রদানকারী
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ViewComposerServiceProvider extends ServiceProvider {
public function boot() {
view()->composer("ViewName","App\Http\ViewComposers\TestViewComposer");
}
}
এর পরে, এই সরবরাহকারীটিকে "সরবরাহকারী" বিভাগের অধীনে কনফিগার / অ্যাপ.এফপি যোগ করুন।
TestViewComposer
namespace App\Http\ViewComposers;
use Illuminate\Contracts\View\View;
class TestViewComposer {
public function compose(View $view) {
$view->with('ViewComposerTestVariable', "Calling with View Composer Provider");
}
}
ViewName.blade.php
Here you are... {{$ViewComposerTestVariable}}
এই পদ্ধতিটি শুধুমাত্র নির্দিষ্ট দৃশ্যের জন্য সহায়তা করতে পারে। তবে আপনি যদি সমস্ত দৃশ্যে ভিউ কমপোজারকে ট্রিগার করতে চান তবে আমাদের এই একক পরিবর্তনটি সার্ভিসপ্রাইভাইডারে প্রয়োগ করতে হবে।
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ViewComposerServiceProvider extends ServiceProvider {
public function boot() {
view()->composer('*',"App\Http\ViewComposers\TestViewComposer");
}
}
উল্লেখ
লারাভেল ডকুমেন্টেশন
আরও স্পষ্টির জন্য স্পষ্টতার লারাকাস্ট পর্ব
এখনও যদি আমার পক্ষ থেকে অস্পষ্ট কিছু হয় তবে আমাকে জানান।