লারাভেলের Auth Model এবং ডাটা অ্যাক্সেস | Default Auth Model and Access its Fields from Anywhere (পার্ট ৮.২)

Abu Sayed
2 min readFeb 15, 2024

--

লারাভেল অথেন্টিকেশন ব্যবহারকারীর তথ্য স্টোর করে App\Models\User model এর মধ্যে। এই মডেল থেকে যে কোন জায়গায় ডাটা অ্যাক্সেস করা সম্ভব। ( Laravel: Default Auth Model and Access its Fields from Anywhere | ( Bangla ) Part 8.2 )

লারাভেলের Auth Model এবং ডাটা অ্যাক্সেস | Default Auth Model and Access its Fields from Anywhere

প্রিয় পাঠক, লারাভেল অথেন্টিকেশান এর ডিফল্ট অট মডেল এবং সেখান থেকে ডাটা অ্যাক্সেস নিয়ে আমরা আলোচনা করবো।

লারাভেলে অথেনটিকেশন ব্যবহারকারীর তথ্য স্টোর করা হয় App\Models\User model এর মধ্যে।

এই মডেল থেকে যে কোন জায়গায় ডাটা অ্যাক্সেস করা যেতে পারে। যেমন:

$user = Auth::user();
echo $user->name; // নাম অ্যাক্সেস

অথবা অন্য জায়গায়:

use App\Models\User;
$user = User::find(1);
echo $user->email;

এভাবে অথেন্টিকেশন মডেল থেকে সহজেই ডাটা প্রদর্শন করা যায়!

এই ব্লগে, আমরা ল্যারাভেল ১০ এর ডিফল্ট অথ মডেলটি কীভাবে ব্যবহার করব তা শিখব এবং যেকোনো জায়গা থেকে এর ফিল্ডগুলোতে কীভাবে অ্যাক্সেস করব। এছাড়াও, আমরা একটি ছোট প্রোগ্রাম তৈরি করব এটি ব্যাখ্যা করার জন্য।

ল্যারাভেল এ একটি ডিফল্ট অথ মডেল রয়েছে যা App\User নামে পরিচিত। এই মডেলটি ল্যারাভেলের মাইগ্রেশন কমান্ড দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয় এবং স্ট্যান্ডার্ড অথেন্টিকেশন কন্ট্রোলারগুলোর সাথে কাজ করে।

অথেন্টিকেশন কন্ট্রোলারগুলো লারাভেলের Illuminate\Foundation\Auth\AuthenticatesUsers ট্রেইট ব্যবহার করে, যা একটি user() পদ্ধতি প্রদান করে। এই পদ্ধতিটি বর্তমান অথেন্টিকেটেড ইউজারকে ফিরিয়ে দেয়।

আমরা যেকোনো জায়গা থেকে ডিফল্ট অথ মডেলের ফিল্ডগুলোতে অ্যাক্সেস করতে এই user() পদ্ধতিটি ব্যবহার করতে পারি। উদাহরণস্বরূপ, আমরা নিম্নলিখিত কোড ব্যবহার করে বর্তমান অথেন্টিকেটেড ইউজারের ইমেইল অ্যাড্রেস পেতে পারি:

$email = Auth::user()->email;

আমরা একটি ছোট প্রোগ্রাম তৈরি করতে পারি যা উপরের ধারণাগুলো ব্যাখ্যা করে:

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
Route::get('/user', function (Request $request) {
// বর্তমান অথেন্টিকেটেড ইউজার পান
$user = Auth::user();
// ইউজারের ইমেইল অ্যাড্রেস পান
$email = $user->email;
// ইমেইল অ্যাড্রেস প্রিন্ট করুন
return $email;
});

এই প্রোগ্রামটি আমাদেরকে বর্তমান অথেন্টিকেটেড ইউজারের ইমেইল অ্যাড্রেস প্রদর্শন করবে।

বিভিন্ন ব্যবহার এবং কেস

ডিফল্ট অথ মডেলের ফিল্ডগুলোতে যেকোনো জায়গা থেকে অ্যাক্সেস করার ক্ষমতাটি বিভিন্ন ব্যবহার এবং কেসের অনুমতি দেয়, যেমন:

  • প্রদর্শনী: আমরা বর্তমান ইউজারের তথ্য প্রদর্শন করতে এই ক্ষমতাটি ব্যবহার করতে পারি, যেমন তাদের নাম, ইমেইল অ্যাড্রেস বা প্রোফাইল ছবি।
  • ব্যক্তিগতকরণ: আমরা বর্তমান ইউজারের পছন্দ এবং সেটিংস অনুযায়ী আমাদের অ্যাপ্লিকেশনটি ব্যক্তিগতকৃত করতে এই ক্ষমতাটি ব্যবহার করতে পারি।
  • অ্যাক্সেস নিয়ন্ত্রণ: আমরা বর্তমান ইউজারের ভূমিকা এবং অনুমতি অনুযায়ী অ্যাপ্লিকেশনটির নির্দিষ্ট এলাকাগুলোতে অ্যাক্সেস নিয়ন্ত্রণ করতে এই ক্ষমতাটি ব্যবহার করতে পারি।
  • লগিং এবং প্রোফাইলিং: আমরা বর্তমান ইউজারের ক্রিয়াকলাপ লগ এবং তাদের ব্যবহারের প্যাটার্ন প্রোফাইল করতে এই ক্ষমতাটি ব্যবহার করতে পারি।

ডিফল্ট অথ মডেলের ফিল্ডগুলোতে যেকোনো জায়গা থেকে অ্যাক্সেস করার ক্ষমতাটি ল্যারাভেলের একটি শক্তিশালী বৈশিষ্ট্য যা আমাদেরকে আমাদের অ্যাপ্লিকেশনগুলোতে বিভিন্ন ব্যবহার এবং কেসগুলো প্রয়োগ করতে দেয়।

এই বিষয়ে আরো জানতে,

Official Docs Retrieving the Authenticated User পড়ুন৷

--

--

Abu Sayed

Bangladeshi Full Stack Web Dev, Sys Admin & DevOps Engineer. Skills: Data analysis, SQL, Kubernetes. Python, PHP & Laravel. Me on: bd.linkedin.com/in/imabusayed