
Laravel বিস্তৃত ব্লগ পোস্টে, আমরা Laravel UI প্যাকেজ ব্যবহার করে Laravel 12-এ একটি সম্পূর্ণ CRUD (তৈরি করুন, পড়ুন, আপডেট করুন, মুছুন) অ্যাপ্লিকেশন তৈরি করব। আমরা স্টাইলিংয়ের জন্য বুটস্ট্র্যাপ এবং আমাদের ভিউয়ের জন্য ব্লেড টেমপ্লেট ব্যবহার করব এবং CRUD অপারেশনের অংশ হিসাবে আমরা চিত্র পরিচালনা অন্তর্ভুক্ত করব।
এই নির্দেশিকা ধরে নিয়েছে যে Laravel 12 উপলব্ধ; যদি এটি পড়ার সময় প্রকাশিত না হয়, তাহলে ধাপগুলি মূলত সর্বশেষ Laravel সংস্করণের সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত, প্রয়োজনে সামান্য সমন্বয় সহ। আসুন বিস্তারিত ধাপ এবং কোড উদাহরণ দিয়ে আলোচনা করা যাক।
# CRUD কী?
CRUD এর অর্থ হল Create, Read, Update এবং Delete—একটি ডাটাবেসে ডেটা পরিচালনার জন্য চারটি মৌলিক ক্রিয়াকলাপ। এই উদাহরণে, আমরা “পোস্ট” পরিচালনা করার জন্য একটি সিস্টেম তৈরি করব, যার মাধ্যমে ব্যবহারকারীরা নতুন পোস্ট তৈরি করতে, পৃথক পোস্টের তালিকা দেখতে, বিদ্যমান পোস্ট আপডেট করতে এবং সেগুলি মুছে ফেলতে পারবেন। অ্যাপ্লিকেশনটিকে আরও ব্যবহারিক করে তুলতে আমরা ছবি আপলোড যোগ করে এই কার্যকারিতা উন্নত করব।
# পূর্বশর্ত
শুরু করার আগে, নিশ্চিত করুন যে আপনার নিম্নলিখিতগুলি ইনস্টল করা আছে:
- PHP (Laravel 12 এর সাথে সামঞ্জস্যপূর্ণ সংস্করণ)
- সুরকার (PHP নির্ভরতা পরিচালনার জন্য)
- Node.js এবং npm (ফ্রন্টএন্ড সম্পদ সংকলনের জন্য)
- একটি ডাটাবেস (যেমন, MySQL, SQLite)
ধাপ ১: একটি নতুন লারাভেল প্রজেক্ট সেট আপ করুন
প্রথমে, কম্পোজার ব্যবহার করে একটি নতুন লারাভেল ১২ প্রজেক্ট তৈরি করুন। আপনার টার্মিনাল খুলুন এবং চালান: $ composer create-project –prefer-dist laravel/laravel blog “12.*”
এই কমান্ডটি Laravel 12 কে ব্লগ নামক একটি ডিরেক্টরিতে ইনস্টল করে।
প্রজেক্ট ডিরেক্টরিতে নেভিগেট করুন: $ cd blog
ধাপ ২: Laravel UI প্যাকেজ ইনস্টল করুন
Laravel UI প্যাকেজটি প্রমাণীকরণ ভিউ স্ক্যাফোল্ড করার এবং বুটস্ট্র্যাপের মতো ফ্রন্টএন্ড প্রিসেট ইনস্টল করার একটি সহজ উপায় প্রদান করে।
এটি ইনস্টল করুন: $ composer require laravel/ui
Check Laravel 12 Version: $ php artisan about
এরপর, বুটস্ট্র্যাপ দিয়ে প্রমাণীকরণ সিস্টেমটি স্ক্যাফোল্ড করুন: $ php artisan ui bootstrap
এখন, ফ্রন্টএন্ড সম্পদগুলি কম্পাইল করুন নিম্নলিখিতটি চালিয়ে: $ npm install && npm run dev
অথবা (শুধুমাত্র Laravel 12 commend) রান করুন: $ composer run dev
ধাপ ৩: একটি মডেল তৈরি করুন এবং মাইগ্রেশন করুন
আমরা আমাদের CRUD রিসোর্স উপস্থাপনের জন্য একটি পোস্ট মডেল তৈরি করব এবং ডাটাবেস টেবিল সংজ্ঞায়িত করার জন্য একটি মাইগ্রেশনও তৈরি করব।
চালান: $ php artisan make:model Post -m
এটি অ্যাপ/মডেলগুলিতে একটি পোস্ট মডেল এবং ডাটাবেস/মাইগ্রেশনগুলিতে একটি মাইগ্রেশন ফাইল তৈরি করে। মাইগ্রেশন ফাইলটি খুলুন (যেমন, xxxx_xx_xx_create_posts_table.php) এবং স্কিমাটি সংজ্ঞায়িত করুন:

ধাপ ৪: ডাটাবেস কনফিগার এবং সেট আপ করুন
আপনার ডাটাবেস সংযোগ কনফিগার করতে আপনার .env ফাইলটি সম্পাদনা করুন। উদাহরণস্বরূপ, MySQL এর সাথে:

তারপর পোস্ট টেবিল (এবং প্রমাণীকরণ টেবিল) তৈরি করতে মাইগ্রেশনগুলি
চালান: $ php artisan migrate
ধাপ ৫: একটি রিসোর্স কন্ট্রোলার তৈরি করুন
CRUD অপারেশন পরিচালনা করার জন্য পোস্টের জন্য একটি রিসোর্স কন্ট্রোলার তৈরি করুন:
$ php artisan make:controller PostController –resource
ধাপ ৬: রুট নির্ধারণ করুন
rutes/web.php খুলুন এবং CRUD অপারেশনের জন্য রুট নির্ধারণ করুন। আমরা ইনডেক্স এবং শো রুটগুলিকে সর্বজনীন করব, একই সাথে পোস্ট তৈরি, সম্পাদনা, আপডেট এবং মুছে ফেলার জন্য প্রমাণীকরণ প্রয়োজন হবে:

ধাপ ৭: ব্লেড ভিউ তৈরি করুন
UI পরিচালনা করার জন্য রিসোর্স/ভিউ/পোস্টে ব্লেড টেমপ্লেট তৈরি করুন। Laravel UI resources/views/layouts/app.blade.php এ একটি ডিফল্ট লেআউট প্রদান করে।
ইনডেক্স ভিউ (index.blade.php)

ভিউ তৈরি করুন (create.blade.php)

ভিউ দেখান (show.blade.php)

দৃশ্য সম্পাদনা করুন (edit.blade.php)

ধাপ ৮: কন্ট্রোলার লজিক বাস্তবায়ন করুন
CRUD লজিক এবং ইমেজ হ্যান্ডলিং ব্যবহার করে app/Http/Controllers/PostController.php আপডেট করুন:

ম্যাস অ্যাসাইনমেন্টের অনুমতি দিতে পোস্ট মডেল (app/Models/Post.php) আপডেট করুন:

ধাপ ৯: ইমেজ স্টোরেজ পরিচালনা করুন
লারাভেল আপলোড করা ফাইলগুলিকে স্টোরেজ/অ্যাপ/পাবলিকের মধ্যে সংরক্ষণ করে। ছবিগুলিকে সর্বজনীনভাবে অ্যাক্সেসযোগ্য করতে, নিম্নলিখিতটি চালিয়ে একটি প্রতীকী লিঙ্ক তৈরি করুন:
$ php artisan storage:link
এটি পাবলিক/স্টোরেজকে স্টোরেজ/অ্যাপ/পাবলিকের সাথে লিঙ্ক করে, যার ফলে ছবিগুলি storage/posts/your-image.jpg এর মতো URL এর মাধ্যমে পরিবেশিত হতে পারে।
ধাপ ১০: অ্যাপ্লিকেশনটি পরীক্ষা করুন
এটি চালিয়ে সার্ভারটি শুরু করুন: $ php artisan serve
আপনার ব্রাউজারে http://localhost:8000 ভিজিট করুন, Laravel UI দ্বারা প্রদত্ত প্রমাণীকরণ সিস্টেম ব্যবহার করে নিবন্ধন করুন এবং লগ ইন করুন এবং CRUD ক্রিয়াকলাপগুলি পরীক্ষা করুন:
- ছবি সহ এবং ছবি ছাড়া একটি পোস্ট তৈরি করুন।
- পোস্ট তালিকা এবং পৃথক পোস্ট দেখুন।
- ছবি আপডেট করুন অথবা অপরিবর্তিত রেখে একটি পোস্ট সম্পাদনা করুন।
- একটি পোস্ট মুছুন এবং যাচাই করুন যে ছবিটি স্টোরেজ থেকে সরানো হয়েছে।
উপসংহার
এই ব্লগ পোস্টে, আমরা Laravel UI প্যাকেজ ব্যবহার করে Laravel 12 তে একটি সম্পূর্ণ CRUD অ্যাপ্লিকেশন তৈরি করেছি। আমরা রেসপন্সিভ স্টাইলিংয়ের জন্য Bootstrap এবং ডায়নামিক ভিউয়ের জন্য Blade টেমপ্লেটগুলিকে একীভূত করেছি, এবং কার্যকারিতা উন্নত করার জন্য আমরা ইমেজ হ্যান্ডলিং যুক্ত করেছি।
মূল বিষয়গুলির মধ্যে রয়েছে:
- বুটস্ট্র্যাপ ব্যবহার করে Laravel 12 এবং Laravel UI সেট আপ করা।
- মাইগ্রেশন ব্যবহার করে একটি পোস্ট মডেল তৈরি করা।
- ইমেজ আপলোড লজিক ব্যবহার করে একটি রিসোর্স কন্ট্রোলার বাস্তবায়ন করা।
- প্রমাণীকরণ মিডলওয়্যার ব্যবহার করে রুট নির্ধারণ করা।
- বুটস্ট্র্যাপ ব্যবহার করে ব্লেড ভিউ ডিজাইন করা এবং যাচাইকরণ প্রতিক্রিয়া।
- Laravel এর ফাইল সিস্টেম ব্যবহার করে ফাইল স্টোরেজ পরিচালনা করা।
এই অ্যাপ্লিকেশনটি আরও জটিল প্রকল্পের জন্য একটি শক্ত ভিত্তি হিসেবে কাজ করে। পৃষ্ঠাঙ্কন, ব্যবহারকারী-নির্দিষ্ট পোস্ট, অথবা অতিরিক্ত বৈধতা নিয়মের মতো বৈশিষ্ট্য যোগ করে এটিকে প্রসারিত করতে দ্বিধা করবেন না।
শুভ কোডিং!
Important Link :
- https://github.com/laravel/ui/
- https://www.youtube.com/watch?v=-2mn6wkEU1c
- https://kritimyantra.com/blogs/build-laravel-12-crud-app-laravel-ui-bootstrap-blade-image-handling













