লারাভেল ইন্সটলেশন
এই অধ্যায়ে, আমরা দেখব কিভাবে আপনার কম্পিউটারে একটি নতুন লারাভেল প্রজেক্ট ইন্সটল এবং রান করতে হয়। চলুন, ধাপে ধাপে শুরু করা যাক।
লারাভেল পরিচিতি
লারাভেল হলো একটি PHP ওয়েব ফ্রেমওয়ার্ক, যা দিয়ে খুব সহজে এবং সুন্দর কোড লিখে ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়। ওয়েব ফ্রেমওয়ার্ক মূলত একটি কাঠামো বা স্ট্রাকচার দেয়, যা আপনার অ্যাপ তৈরির কাজ শুরু করতে সাহায্য করে। এর ফলে, আপনাকে ছোটখাটো বিষয় নিয়ে ভাবতে হয় না, এবং আপনি আপনার মূল অ্যাপ্লিকেশনের দারুণ সব ফিচার তৈরিতে মনোযোগ দিতে পারেন।
আপনি যদি PHP ওয়েব ফ্রেমওয়ার্কে নতুন হন অথবা একজন অভিজ্ঞ ডেভেলপার, লারাভেল আপনার জন্য খুবই উপযোগী একটি ফ্রেমওয়ার্ক।
কেন লারাভেল?
ওয়েব অ্যাপ্লিকেশন তৈরির জন্য অনেক টুলস এবং ফ্রেমওয়ার্ক আছে। কিন্তু আমরা মনে করি, আধুনিক ও ফুল-স্ট্যাক ওয়েব অ্যাপ্লিকেশন তৈরির জন্য লারাভেল সেরা। এর কয়েকটি কারণ নিচে দেওয়া হলো:
একটি প্রগতিশীল ফ্রেমওয়ার্ক (A Progressive Framework)
লারাভেলকে একটি "প্রগতিশীল" ফ্রেমওয়ার্ক বলা হয়, কারণ এটি আপনার দক্ষতার সাথে সাথে মানিয়ে নিতে পারে। আপনি যদি একদম নতুন হন, লারাভেলের বিশাল ডকুমেন্টেশন, গাইড এবং ভিডিও টিউটোরিয়াল আপনাকে কোনো প্রকার চাপ ছাড়াই সবকিছু শিখতে সাহায্য করবে। আর আপনি যদি একজন অভিজ্ঞ ডেভেলপার হন, তাহলে লারাভেল আপনাকে Dependency Injection, Unit Testing, Queues, Real-time Events এর মতো শক্তিশালী টুলস সরবরাহ করে, যা দিয়ে বড় এবং প্রফেশনাল অ্যাপ্লিকেশন তৈরি করা যায়।
একটি পরিমাপযোগ্য ফ্রেমওয়ার্ক (A Scalable Framework)
লারাভেল দিয়ে তৈরি অ্যাপ্লিকেশন খুব সহজেই স্কেল করা যায়। অর্থাৎ, আপনার অ্যাপ্লিকেশনের ব্যবহারকারী বাড়ার সাথে সাথে এর পারফরম্যান্স ঠিক রাখা খুবই সহজ। লারাভেল দিয়ে তৈরি অ্যাপ্লিকেশন প্রতি মাসে লক্ষ লক্ষ অনুরোধ সহজেই পরিচালনা করতে পারে।
একটি কমিউনিটি ফ্রেমওয়ার্ক (A Community Framework)
সারা বিশ্বের হাজার হাজার প্রতিভাবান ডেভেলপার লারাভেল তৈরিতে অবদান রেখেছেন এবং রাখছেন। এটি PHP ইকোসিস্টেমের সেরা প্যাকেজগুলো ব্যবহার করে, যা এটিকে আরও শক্তিশালী ও ডেভেলপার-বান্ধব করে তুলেছে।
একটি লারাভেল অ্যাপ্লিকেশন তৈরি করা
আপনার প্রথম লারাভেল অ্যাপ্লিকেশন তৈরির আগে, আপনার কম্পিউটারে কয়েকটি জিনিস ইন্সটল থাকা প্রয়োজন:
- PHP (opens in a new tab)
- Composer (opens in a new tab) (পিএইচপি-এর জন্য একটি প্যাকেজ ম্যানেজার)
- Laravel Installer (opens in a new tab)
- Node.js এবং NPM (opens in a new tab) অথবা Bun (opens in a new tab) (ফ্রন্টএন্ড অ্যাসেট ম্যানেজ করার জন্য)
পিএইচপি এবং লারাভেল ইন্সটলার ইন্সটল করা
আপনার কম্পিউটারে যদি PHP এবং Composer ইন্সটল করা না থাকে, তাহলে নিচের কমান্ডগুলো ব্যবহার করে খুব সহজেই এগুলো ইন্সটল করে নিতে পারেন। আপনার অপারেটিং সিস্টেম অনুযায়ী কমান্ডটি টার্মিনালে রান করুন।
macOS:
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"Windows PowerShell (Administrator হিসেবে রান করুন):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4'))Linux:
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"উপরের যেকোনো একটি কমান্ড চালানোর পর, আপনার টার্মিনাল রিস্টার্ট করুন।
আপনার কম্পিউটারে যদি আগে থেকেই PHP এবং Composer ইন্সটল করা থাকে, তাহলে শুধু নিচের কমান্ডটি দিয়ে লারাভেল ইন্সটলারটি ইন্সটল করে নিন:
composer global require laravel/installerLaravel Herd: আপনি যদি macOS বা Windows ব্যবহারকারী হন এবং একটি সহজ গ্রাফিকাল ইন্টারফেসের মাধ্যমে PHP এবং অন্যান্য টুলস ম্যানেজ করতে চান, তাহলে Laravel Herd ব্যবহার করতে পারেন।
অ্যাপ্লিকেশন তৈরি করা
সবকিছু ঠিকঠাকভাবে ইন্সটল হয়ে গেলে, আপনি একটি নতুন লারাভেল অ্যাপ্লিকেশন তৈরি করার জন্য প্রস্তুত। নিচের কমান্ডটি টার্মিনালে রান করুন। এটি আপনাকে আপনার পছন্দের টেস্টিং ফ্রেমওয়ার্ক, ডাটাবেস এবং স্টার্টার কিট বেছে নিতে বলবে।
laravel new example-appএই কমান্ডটি example-app নামে একটি নতুন লারাভেল প্রজেক্ট তৈরি করবে।
প্রজেক্টটি তৈরি হয়ে গেলে, নিচের কমান্ডগুলো দিয়ে আপনি ডেভেলপমেন্ট সার্ভার চালু করতে পারেন:
cd example-app
npm install && npm run build
composer run devসার্ভার চালু হওয়ার পর, আপনার ব্রাউজারে http://localhost:8000 এই লিঙ্কে গেলে আপনি আপনার অ্যাপ্লিকেশনটি দেখতে পাবেন।
প্রাথমিক কনফিগারেশন
লারাভেলের সব কনফিগারেশন ফাইল config ফোল্ডারের ভেতরে থাকে। প্রতিটি ফাইলের ভেতরেই বিস্তারিত কমেন্ট করে দেওয়া আছে, তাই আপনি সহজেই বুঝতে পারবেন কোন অপশন কী কাজ করে।
এনভায়রনমেন্ট ভিত্তিক কনফিগারেশন
একটি অ্যাপ্লিকেশনের কিছু তথ্য (যেমন: ডাটাবেসের পাসওয়ার্ড) লোকাল কম্পিউটার এবং প্রোডাকশন সার্ভারে ভিন্ন ভিন্ন হতে পারে। এই ধরনের তথ্যের জন্য লারাভেল .env ফাইল ব্যবহার করে। এই ফাইলটি আপনার প্রজেক্টের রুট ফোল্ডারে থাকে।
নিরাপত্তার কারণে, .env ফাইলটি কখনো সোর্স কন্ট্রোলে (যেমন: Git) কমিট করা উচিত নয়।
ডাটাবেস এবং মাইগ্রেশন
অ্যাপ্লিকেশন তৈরির পর আপনার নিশ্চয়ই ডাটাবেসে তথ্য সংরক্ষণ করার প্রয়োজন হবে। ডিফল্টভাবে, লারাভেল SQLite ডাটাবেস ব্যবহার করার জন্য কনফিগার করা থাকে এবং database/database.sqlite নামে একটি ফাইলও তৈরি করে দেয়।
আপনি যদি MySQL বা PostgreSQL এর মতো অন্য কোনো ডাটাবেস ব্যবহার করতে চান, তাহলে .env ফাইলটি এডিট করতে হবে। যেমন, MySQL ব্যবহারের জন্য DB_* ভেরিয়েবলগুলো এভাবে পরিবর্তন করুন:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=এরপর, আপনাকে ডাটাবেসটি তৈরি করতে হবে এবং নিচের কমান্ডটি চালিয়ে ডাটাবেস টেবিলগুলো তৈরি করতে হবে:
php artisan migrateLaravel Herd দিয়ে ইন্সটলেশন
Laravel Herd (opens in a new tab) হলো macOS এবং Windows এর জন্য একটি অত্যন্ত দ্রুত এবং নেটিভ লারাভেল ও পিএইচপি ডেভেলপমেন্ট এনভায়রনমেন্ট। লারাভেল ডেভেলপমেন্ট শুরু করার জন্য আপনার যা যা প্রয়োজন, যেমন PHP এবং Nginx, তার সবকিছুই Herd-এ অন্তর্ভুক্ত রয়েছে।
Herd ইন্সটল করার পরেই আপনি লারাভেল দিয়ে ডেভেলপমেন্ট শুরু করতে পারবেন।
Herd Pro: আপনি যদি আরও শক্তিশালী ফিচার চান, যেমন লোকাল MySQL, Postgres, এবং Redis ডাটাবেস তৈরি ও পরিচালনা করা, তাহলে Herd Pro (opens in a new tab) ব্যবহার করতে পারেন।
macOS এ Herd
আপনি যদি macOS ব্যবহারকারী হন, তাহলে Herd ওয়েবসাইট (opens in a new tab) থেকে Herd ইন্সটলার ডাউনলোড করতে পারেন। ইন্সটলারটি স্বয়ংক্রিয়ভাবে PHP-এর সর্বশেষ সংস্করণ ডাউনলোড করে এবং আপনার Mac-কে কনফিগার করে।
Herd ইন্সটল করার পর, একটি নতুন লারাভেল অ্যাপ্লিকেশন তৈরি করার সবচেয়ে দ্রুত উপায় হলো Herd-এর সাথে থাকা Laravel CLI ব্যবহার করা:
cd ~/Herd
laravel new my-app
cd my-app
herd openWindows এ Herd
আপনি Herd ওয়েবসাইট (opens in a new tab) থেকে Herd-এর জন্য Windows ইন্সটলার ডাউনলোড করতে পারেন। ইন্সটলেশন শেষ হলে, আপনি Herd চালু করে এর UI অ্যাক্সেস করতে পারবেন।
Herd ইন্সটল করার পর, Powershell খুলে নিচের কমান্ডগুলো রান করে নতুন লারাভেল অ্যাপ্লিকেশন তৈরি করতে পারেন:
cd ~\Herd
laravel new my-app
cd my-app
herd openIDE সাপোর্ট
লারাভেল অ্যাপ্লিকেশন ডেভেলপ করার জন্য আপনি যেকোনো কোড এডিটর ব্যবহার করতে পারেন। তবে, ভালো সাপোর্টের জন্য নিচের এডিটরগুলো ব্যবহার করতে পারেন:
- VS Code: VS Code (opens in a new tab) এবং অফিসিয়াল Laravel VS Code Extension (opens in a new tab) ব্যবহার করলে আপনি সিনট্যাক্স হাইলাইটিং, স্নিপেট এবং আরও অনেক সুবিধা পাবেন。
- PhpStorm: আপনি যদি আরও শক্তিশালী এবং বিস্তৃত সাপোর্ট চান, তাহলে PhpStorm (opens in a new tab) এবং Laravel Idea plugin (opens in a new tab) ব্যবহার করতে পারেন।
পরবর্তী ধাপ
এখন আপনার লারাভেল অ্যাপ্লিকেশন তৈরি এবং চলমান। এরপর কী শিখবেন? আমরা আপনাকে লারাভেলের মূল ধারণাগুলো সম্পর্কে জানতে উৎসাহিত করছি। নিচের বিষয়গুলো সম্পর্কে পড়ুন:
আপনি কিভাবে লারাভেল ব্যবহার করতে চান তা আপনার যাত্রার পরবর্তী পদক্ষেপগুলো নির্ধারণ করবে। আপনি লারাভেলকে একটি ফুল-স্ট্যাক ফ্রেমওয়ার্ক হিসেবে অথবা শুধু একটি API ব্যাকএন্ড হিসেবেও ব্যবহার করতে পারেন। আপনার প্রয়োজন অনুযায়ী পরবর্তী বিষয়গুলো শিখতে থাকুন।
অ্যাপ্লিকেশন সেটআপের বিস্তারিত ধাপ
আপনি যখন laravel new my-app কমান্ডটি চালাবেন, তখন লারাভেল আপনাকে আপনার প্রজেক্ট সেটআপ করার জন্য কয়েকটি প্রশ্ন করবে। চলুন, এই ধাপগুলো বিস্তারিতভাবে জেনে নেওয়া যাক।
১. স্টার্টার কিট নির্বাচন (Starter Kit)
লারাভেল আপনাকে জিজ্ঞেস করবে যে আপনি কোন স্টার্টার কিট ইনস্টল করতে চান। এখানে চারটি অপশন থাকবে:
- None: শুধু ব্যাকএন্ড থাকবে, কোনো ফ্রন্টএন্ড UI থাকবে না।
- React: React + Vite + Inertia দিয়ে ফ্রন্টএন্ড তৈরি করে দেয়।
- Vue: Vue.js + Inertia দিয়ে বানানো ফ্রন্টএন্ড।
- Livewire: Laravel এর Blade এর সাথে dynamic front-end করে।
আপনি যদি React Developer হন এবং Tailwind CSS ব্যবহার করতে চান, তাহলে React অপশনটি নির্বাচন করুন।
২. Authentication Provider নির্বাচন
এরপর, লারাভেল আপনাকে জিজ্ঞেস করবে যে আপনি কোন Authentication Provider ব্যবহার করতে চান। এখানে তিনটি অপশন থাকবে:
- Laravel: Laravel-এর বিল্ট-ইন অথেন্টিকেশন সিস্টেম ব্যবহার করবে।
- WorkOS: তৃতীয় পক্ষের অথেন্টিকেশন (Google, Microsoft, ইত্যাদি) সাপোর্ট করে।
- None: কোনো অথেন্টিকেশন থাকবে না।
শুরুর প্রজেক্টের জন্য Laravel-এর বিল্ট-ইন অথেন্টিকেশন ব্যবহার করা সবচেয়ে ভালো। তাই Laravel নির্বাচন করুন।
৩. Testing Framework নির্বাচন
এরপর, আপনাকে একটি টেস্টিং ফ্রেমওয়ার্ক নির্বাচন করতে বলা হবে। এখানে দুইটি অপশন থাকবে:
- Pest: আধুনিক এবং পড়তে সহজ।
- PHPUnit: ক্লাসিক এবং Laravel 8-10 এর ডিফল্ট।
নতুন প্রজেক্টের জন্য Pest নির্বাচন করা ভালো। তাই Pest নির্বাচন করুন।
৪. Laravel Dependency Install (Composer)
লারাভেল স্বয়ংক্রিয়ভাবে Composer ব্যবহার করে প্রজেক্টের সব ডিপেনডেন্সি ইনস্টল করবে।
৫. .env ফাইল তৈরি ও Key Generate
লারাভেল নিজে থেকেই একটি .env ফাইল তৈরি করবে এবং অ্যাপ্লিকেশন জন্য একটি নিরাপত্তা কী জেনারেট করবে।
৬. Database সেটআপ ও মাইগ্রেশন রান করা
লারাভেল স্বয়ংক্রিয়ভাবে SQLite ডাটাবেস তৈরি করবে এবং প্রয়োজনীয় টেবিলগুলো তৈরি করতে মাইগ্রেশন চালাবে।
৭. ডেভেলপমেন্ট সার্ভার চালু করা
সবকিছু ঠিকঠাকভাবে ইনস্টল হলে, আপনি ডেভেলপমেন্ট সার্ভার চালু করতে পারবেন। টার্মিনালে নিচের কমান্ডগুলো রান করুন:
npm install
npm run dev
php artisan serveএরপর, আপনার ব্রাউজারে গিয়ে http://localhost:8000 (opens in a new tab) ভিজিট করুন।
এখন আপনার Laravel + React প্রজেক্ট প্রস্তুত এবং চলমান 🎉
💡 Bonus Tips (সবার জন্য)
| তুমি কে | Starter Kit | Auth Option | Testing |
|---|---|---|---|
| 🧑💻 React Developer (তুমি) | React | Laravel | Pest |
| 🧑🎨 Vue Developer | Vue | Laravel | Pest |
| 🧑🔧 Blade Developer | Livewire | Laravel | Pest |
| ⚙️ API Developer | None | None | PHPUnit বা Pest |
🔚 উপসংহার:
👉 Laravel এখন অনেক সহজ হয়ে গেছে, কারণ Herd + Starter Kit সব সেটআপ করে দেয়।
👉 তুমি যেভাবে React + Laravel auth নিয়েছো — এটা perfect choice।
👉 এরপর তুমি শুধু npm install এবং npm run dev চালালেই পুরো ফ্রন্টএন্ড build হয়ে যাবে।