Laravel ১৭ তম পর্বে আপনাকে স্বাগতম। এই পর্বে আমরা Laravel Framework এ বাহিরের কোনো প্যাকেজ ব্যবহার না করে কিভাবে Full Featured লগইন এবং রেজিস্ট্রেশন সিস্টেম তৈরী করা যায় তা দেখব । আমরা এই কাজটি করার জন্য Laravel Framework এর default auth system ব্যবহার করব। চলুন শুরু করা যাক , প্রথমে আপনাকে CLI তে project ডিরেক্টরিতে access করে নিচের command টি রান করুন :
php artisan make:auth
এখন আপনি আপনার controller এবং views folder এ auth নামে সম্পূর্ণ আলাদা দুটি ফোল্ডার দেখতে পাবেন, যেখানে আপনার Login এবং registration সিস্টেম তৈরী করার জন্য যা যা দরকার Laravel Framework আপনার জন্য সব কিছু তৈরী করে রেখেছে , এমনকি আপনার জন্য web.php file এ route ও define করে রেখেছে। নিচের screenshot গুলো লক্ষ্য করুন :
এখন আপনি যদি আপনার ব্রাউজার এ http://localhost:8000/home হিট করেন তাহলে নিচের মত ফলাফল দেখাবে :
Migration Run
Laravel Framework এ Migration নিয়ে কাজ করতে হলে আপনাকে প্রথমে Database এর host এর সাথে connect এবং Database Select করতে হবে। আর এর জন্য আপনাকে আপনার project এর root ফোল্ডারের .env ফাইল এ Database এর host, username, password এবং Database name বলে দিতে হবে। নিচের ছবিটি লক্ষ্য করুন :
Note: .env file edit করার পর অবশ্যই php artisan সার্ভার টি রিস্টার্ট দিতে হবে। অথবা “php artisan config:clear” এই command টি run করতে হবে।
এখন আমরা আমাদের CLI তে নিচের commad টি রান করব।
php artisan migrate
এখন Laravel আপনার database এ দুটি table তৈরী করে দিবে। যার একটি migration যা মূলত : Laravel নিজে ব্যবহার করে , আরেকটি হচ্ছে users যা আমাদের authentication system এ ব্যবহার করব। নিচের screenshot লক্ষ্য করুন :
Note: যারা mariadb অথবা mysql এর পুরাতন version এ কাজ করতেছেন তাদেরকে নিচের মতো একটা error দেখাতে পারে।
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email)) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
সমাধান:
প্রথমে 2014_10_12_000000_create_users_table.php এবং 2014_10_12_100000_create_password_resets_table.php file দুইটি আপনার এডিটর এ খুলুন , তারপর যথাক্রমে লাইন নম্বর ১৯ এবং লাইন নম্বর ১৭ তে Database এর users এবং password_resets টেবিল দুটির email field এর size পরিবর্তন করে নিন। ঠিক নিচের মত:
Testing Registration
এখন আপনি চাইলে register button click করার মাধ্যমে খুব সহজে User Registration করতে পারেন ঠিক নিচের মত:
আপনি এখন login page এ গিয়ে অ্যাপ্লিকেশনে লগইন করতে পারেন। এবং login শেষে আপনি নিচের মত Dashboard দেখতে পাবেন ঠিক নিচের মত: