Symfony ইনস্টল এবং সেটআপ করার জন্য আপনাকে কিছু প্রাথমিক টুলস ও পরিবেশ প্রস্তুত করতে হবে। Symfony ইনস্টল করার জন্য আপনার PHP, Composer, এবং Symfony CLI প্রয়োজন। নিচে স্টেপ বাই স্টেপ প্রক্রিয়া দেওয়া হলো।
প্রয়োজনীয়তা
Symfony ইনস্টল করার আগে নিশ্চিত করুন যে আপনার সিস্টেমে নিম্নলিখিত টুল এবং সফটওয়্যার আছে:
- PHP (v8.1 বা তার উপরে):
Symfony সর্বশেষ সংস্করণের জন্য PHP 8.1 বা তার উপরের সংস্করণ প্রয়োজন। - Composer:
PHP-এর ডিপেন্ডেন্সি ম্যানেজমেন্টের জন্য Composer ব্যবহার করা হয়। এটি Symfony প্রজেক্ট তৈরি ও পরিচালনা করতে ব্যবহৃত হয়। - Symfony CLI:
Symfony CLI (Command Line Interface) দ্রুত এবং সহজে প্রজেক্ট সেটআপ করার জন্য দরকার। - ওয়েব সার্ভার:
Apache বা Nginx ওয়েব সার্ভার ব্যবহার করা যেতে পারে। তবে Symfony CLI একটি বিল্ট-ইন ডেভেলপমেন্ট সার্ভার সরবরাহ করে। - ডাটাবেস:
Symfony MySQL, PostgreSQL, SQLite, এবং অন্যান্য ডাটাবেস সমর্থন করে।
Symfony ইনস্টলেশন প্রক্রিয়া
১. Composer ইনস্টলেশন
Composer ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:
Linux/Mac:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
Windows:
Windows-এর জন্য Composer Installer ব্যবহার করুন।
Composer সফলভাবে ইনস্টল হয়েছে কিনা পরীক্ষা করতে:
composer --version
২. Symfony CLI ইনস্টলেশন
Symfony CLI ইনস্টল করতে, নিচের কমান্ডটি ব্যবহার করুন:
Linux/Mac:
curl -sS https://get.symfony.com/cli/installer | bash
sudo mv ~/.symfony*/bin/symfony /usr/local/bin/symfony
Windows:
Symfony CLI ডাউনলোড করুন Symfony CLI Download লিংক থেকে এবং ইনস্টল করুন।
Symfony CLI সফলভাবে ইনস্টল হয়েছে কিনা পরীক্ষা করতে:
symfony --version
৩. Symfony প্রজেক্ট তৈরি
Symfony Skeleton দিয়ে একটি নতুন প্রজেক্ট তৈরি করতে:
composer create-project symfony/skeleton my_project_name
বা Symfony CLI ব্যবহার করে:
symfony new my_project_name --full
--full অপশনটি ব্যবহারে Symfony-র সমস্ত কম্পোনেন্ট অন্তর্ভুক্ত করা হবে।
৪. ডেভেলপমেন্ট সার্ভার চালানো
Symfony CLI ব্যবহার করে ডেভেলপমেন্ট সার্ভার চালানোর জন্য:
cd my_project_name
symfony server:start
ব্রাউজারে অ্যাপ্লিকেশন দেখার জন্য:
http://127.0.0.1:8000
ডাটাবেস সেটআপ
Symfony ডাটাবেস সংযোগ করতে .env ফাইলে ডাটাবেস কনফিগারেশন আপডেট করুন:
DATABASE_URL="mysql://username:password@127.0.0.1:3306/database_name"
ডাটাবেস মাইগ্রেশন চালানোর জন্য:
php bin/console doctrine:database:create
php bin/console make:migration
php bin/console doctrine:migrations:migrate
প্রজেক্ট ডিরেক্টরি স্ট্রাকচার
Symfony-এর প্রজেক্ট ডিরেক্টরি গঠন:
- src/: অ্যাপ্লিকেশনের কোড (Controllers, Entities ইত্যাদি)
- config/: কনফিগারেশন ফাইল
- public/: পাবলিক ফাইল (index.php, assets ইত্যাদি)
- templates/: Twig টেমপ্লেট ফাইল
- var/: ক্যাশ এবং লগ ফাইল
- vendor/: Composer ডিপেন্ডেন্সি
Symfony ইনস্টল ও সেটআপের পরে, আপনি প্রজেক্টের কাঠামো অনুযায়ী ডেভেলপমেন্ট শুরু করতে পারবেন। এটি একটি শক্তিশালী এবং স্কেলযোগ্য ফ্রেমওয়ার্ক, যা ওয়েব অ্যাপ্লিকেশন তৈরিতে সময় এবং প্রচেষ্টা সাশ্রয় করবে।
Symfony ইনস্টল ও ব্যবহার করার জন্য আপনার সিস্টেমে কিছু নির্দিষ্ট সফটওয়্যার এবং হার্ডওয়্যার কনফিগারেশন থাকতে হবে। এগুলো নিশ্চিত করা না হলে Symfony সঠিকভাবে কাজ করবে না।
সফটওয়্যার সংক্রান্ত প্রয়োজনীয়তা
PHP সংস্করণ:
Symfony ৬.০ এবং এর পরবর্তী সংস্করণের জন্য PHP v8.1 বা তার উপরে প্রয়োজন।PHP এক্সটেনশনগুলো নিশ্চিত করতে হবে:
ctypeiconvJSONPCRESessionSimpleXMLTokenizermbstringopensslpdo
Composer:
Symfony-এর ডিপেন্ডেন্সি ম্যানেজমেন্টের জন্য Composer ইনস্টল থাকতে হবে। এটি Symfony প্রজেক্ট তৈরি এবং প্যাকেজ ম্যানেজমেন্টের জন্য অপরিহার্য।ইনস্টলেশন:
composer --version- Symfony CLI:
Symfony CLI ডাউনলোড করে ইনস্টল করা আবশ্যক। এটি ডেভেলপমেন্ট সার্ভার চালানো এবং অন্যান্য কার্যক্রম সহজ করে। - ওয়েব সার্ভার:
- Apache ২.৪ বা এর উপরে
- Nginx ১.১৮ বা এর উপরে
Symfony CLI-তে বিল্ট-ইন সার্ভার রয়েছে, যা ডেভেলপমেন্টের জন্য যথেষ্ট।
- ডাটাবেস সাপোর্ট:
Symfony নিচের ডাটাবেস সিস্টেম সমর্থন করে:- MySQL ৫.৭ বা তার উপরে
- PostgreSQL ৯.৬ বা তার উপরে
- SQLite ৩ বা তার উপরে
- MariaDB ১০.৩ বা তার উপরে
- ওএস সমর্থন:
Symfony Windows, macOS এবং Linux-এ কাজ করে। ডেভেলপমেন্টের জন্য Linux বা macOS বেশি উপযুক্ত।
হার্ডওয়্যার সংক্রান্ত প্রয়োজনীয়তা
- প্রসেসর:
- যে কোনো আধুনিক x64-ভিত্তিক প্রসেসর
- উন্নত পারফরম্যান্সের জন্য Intel i5/i7 বা AMD Ryzen সিরিজ প্রস্তাবিত
- র্যাম:
- ডেভেলপমেন্টের জন্য অন্তত ৪ জিবি র্যাম
- বড় এবং জটিল প্রজেক্টের জন্য ৮ জিবি বা তার বেশি র্যাম সুপারিশ করা হয়।
- ডিস্ক স্পেস:
- Symfony এবং এর ডিপেন্ডেন্সি ফাইল স্টোরেজের জন্য কমপক্ষে ২০০ এমবি ফ্রি স্পেস প্রয়োজন।
- ডাটাবেস এবং ক্যাশ ফাইলের জন্য বাড়তি স্পেস প্রয়োজন হতে পারে।
- ইন্টারনেট সংযোগ:
- Composer এবং Symfony CLI ডাউনলোড ও ডিপেন্ডেন্সি আপডেটের জন্য ইন্টারনেট সংযোগ প্রয়োজন।
Symfony কনফিগারেশন চেক করা
Symfony ইনস্টলেশন সঠিকভাবে হয়েছে কিনা তা পরীক্ষা করতে:
symfony check:requirements
এটি আপনার সিস্টেমের সমস্ত প্রয়োজনীয়তা যাচাই করবে এবং কোনো সমস্যা থাকলে সমাধান প্রদর্শন করবে।
Symfony ইনস্টল এবং ব্যবহার করতে এই সিস্টেমের প্রয়োজনীয়তাগুলো নিশ্চিত করা আবশ্যক। উপযুক্ত সিস্টেম এবং সফটওয়্যার ছাড়া এটি সঠিকভাবে কাজ নাও করতে পারে।
Symfony প্রজেক্ট তৈরি ও চালানোর জন্য PHP, Composer, এবং Symfony CLI ইনস্টল করা আবশ্যক। এখানে Linux, macOS এবং Windows প্ল্যাটফর্মের জন্য ইনস্টলেশন পদ্ধতি ধাপে ধাপে বর্ণনা করা হলো।
১. PHP ইনস্টলেশন
Linux (Ubuntu):
প্যাকেজ আপডেট করুন:
sudo apt update && sudo apt upgradePHP ইনস্টল করুন:
sudo apt install php-cli php-bcmath php-curl php-mbstring php-xml php-zip unzipPHP সংস্করণ পরীক্ষা:
php -v
macOS:
Homebrew ব্যবহার করে PHP ইনস্টল করুন:
brew install phpPHP সংস্করণ পরীক্ষা:
php -v
Windows:
- PHP Downloads ওয়েবসাইট থেকে Thread Safe ভার্সন ডাউনলোড করুন।
- ডাউনলোড করা ফাইল আনজিপ করুন এবং PATH পরিবেশ ভেরিয়েবলে PHP-এর পাথ যুক্ত করুন।
কমান্ড প্রম্পটে PHP সংস্করণ পরীক্ষা:
php -v
২. Composer ইনস্টলেশন
Linux এবং macOS:
Composer ইনস্টলারের জন্য স্ক্রিপ্ট ডাউনলোড করুন:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"স্ক্রিপ্ট চালান:
php composer-setup.phpComposer ইনস্টল করুন:
sudo mv composer.phar /usr/local/bin/composerComposer সংস্করণ পরীক্ষা:
composer --version
Windows:
- Composer Installer ডাউনলোড করুন।
- ইনস্টলার চালান এবং PHP পাথ সঠিকভাবে সিলেক্ট করুন।
ইনস্টলেশনের পরে, কমান্ড প্রম্পটে Composer সংস্করণ পরীক্ষা:
composer --version
৩. Symfony CLI ইনস্টলেশন
Linux এবং macOS:
Symfony CLI ডাউনলোড এবং ইনস্টল করুন:
curl -sS https://get.symfony.com/cli/installer | bashSymfony CLI পাথ সেট করুন:
sudo mv ~/.symfony*/bin/symfony /usr/local/bin/symfonySymfony CLI সংস্করণ পরীক্ষা:
symfony --version
Windows:
- Symfony CLI Download পেজ থেকে Windows ভার্সন ডাউনলোড করুন।
- ইনস্টলার চালিয়ে ইনস্টল করুন।
Command Prompt বা PowerShell-এ Symfony CLI সংস্করণ পরীক্ষা:
symfony --version
৪. ইনস্টলেশন যাচাই
PHP যাচাই:
php -v
Composer যাচাই:
composer --version
Symfony CLI যাচাই:
symfony --version
এই ধাপগুলো সম্পন্ন করার পর, আপনার সিস্টেম Symfony প্রজেক্ট তৈরি এবং চালানোর জন্য প্রস্তুত। প্রয়োজন হলে PHP এক্সটেনশন যোগ করুন এবং ডাটাবেস সেটআপ করুন।
Symfony প্রজেক্ট তৈরি করা খুবই সহজ, এবং এটি শুরু করার জন্য আপনাকে Composer বা Symfony CLI ব্যবহার করতে হবে। নিচে ধাপে ধাপে প্রথম Symfony প্রজেক্ট তৈরি এবং সেটআপের পদ্ধতি বর্ণনা করা হলো।
১. Symfony CLI দিয়ে প্রজেক্ট তৈরি করা
Symfony CLI ব্যবহার করলে দ্রুত এবং সহজভাবে প্রজেক্ট তৈরি করা যায়।
কমান্ড:
symfony new project_name --full
project_name: আপনার প্রজেক্টের নাম।--full: সম্পূর্ণ ফ্রেমওয়ার্ক সেটআপ করবে, যেখানে সমস্ত কম্পোনেন্ট অন্তর্ভুক্ত থাকবে।
উদাহরণ:
symfony new my_first_project --full
২. Composer দিয়ে প্রজেক্ট তৈরি করা
Composer ব্যবহার করেও Symfony প্রজেক্ট তৈরি করা যায়। এটি Symfony Skeleton বা Symfony Website Skeleton দিয়ে কাজ করে।
কমান্ড (Symfony Skeleton):
composer create-project symfony/skeleton project_name
- Symfony Skeleton: একটি হালকা ওজনের স্টার্টার প্যাকেজ, যা শুধুমাত্র প্রয়োজনীয় ফিচার সরবরাহ করে।
কমান্ড (Symfony Website Skeleton):
composer create-project symfony/website-skeleton project_name
- Symfony Website Skeleton: একটি পূর্ণাঙ্গ স্টার্টার প্যাকেজ, যা ওয়েব অ্যাপ্লিকেশনের জন্য সমস্ত সাধারণ ফিচার অন্তর্ভুক্ত করে।
উদাহরণ:
composer create-project symfony/website-skeleton my_first_project
৩. ডিরেক্টরিতে প্রবেশ এবং ডেভেলপমেন্ট সার্ভার চালু করা
Symfony প্রজেক্ট তৈরি করার পর প্রজেক্ট ডিরেক্টরিতে প্রবেশ করে ডেভেলপমেন্ট সার্ভার চালাতে হবে।
ডিরেক্টরিতে প্রবেশ:
cd project_name
Symfony CLI দিয়ে সার্ভার চালানো:
symfony server:start
সার্ভার ঠিকানা:
ডিফল্ট অ্যাড্রেস হবে:
http://127.0.0.1:8000
আপনার ব্রাউজারে এই লিংকে গেলে Symfony-এর ডিফল্ট ওয়েলকাম পেজ দেখতে পাবেন।
৪. ডিরেক্টরি কাঠামো
Symfony প্রজেক্ট তৈরি করার পরে এর ডিরেক্টরি কাঠামো এমন হবে:
- src/: মূল কোড, যেমন Controllers, Entities, Repositories ইত্যাদি।
- config/: অ্যাপ্লিকেশন কনফিগারেশন ফাইল।
- public/: ব্রাউজারে এক্সেস করা যাবে এমন ফাইল, যেমন
index.php, assets ইত্যাদি। - templates/: Twig টেমপ্লেট ফাইল।
- var/: ক্যাশ এবং লগ ফাইল।
- vendor/: Composer ডিপেন্ডেন্সি ফাইল।
৫. ডাটাবেস কনফিগারেশন (ঐচ্ছিক)
ডাটাবেস ব্যবহার করতে .env ফাইলটি সম্পাদনা করুন এবং ডাটাবেস URL নির্ধারণ করুন।
.env ফাইল পরিবর্তন:
DATABASE_URL="mysql://username:password@127.0.0.1:3306/database_name"
ডাটাবেস তৈরি:
php bin/console doctrine:database:create
৬. Symfony প্রজেক্ট চেকলিস্ট
প্রজেক্ট তৈরির পরে Symfony-এর চেকলিস্ট রান করে নিশ্চিত করুন যে সবকিছু সঠিকভাবে কাজ করছে।
কমান্ড:
symfony check:requirements
Symfony দিয়ে প্রথম প্রজেক্ট তৈরি করা এখন সম্পূর্ণ। আপনি ডিফল্ট ওয়েলকাম পেজ দেখতে পারবেন এবং এখান থেকে কোডিং শুরু করতে পারবেন।
Symfony-এর ডিরেক্টরি স্ট্রাকচার খুবই সুনির্দিষ্ট এবং মডুলার। এটি প্রজেক্ট ম্যানেজমেন্টকে সহজ এবং সংগঠিত রাখে। প্রতিটি ডিরেক্টরি একটি নির্দিষ্ট উদ্দেশ্যে তৈরি, যা কোডের গঠন এবং কার্যকারিতা বজায় রাখতে সাহায্য করে।
মূল ডিরেক্টরি স্ট্রাকচার
Symfony প্রজেক্ট তৈরির পরে সাধারণত নিচের ডিরেক্টরি স্ট্রাকচার দেখা যায়:
project_name/
├── bin/
├── config/
├── public/
├── src/
├── templates/
├── tests/
├── translations/
├── var/
├── vendor/
├── .env
├── composer.json
└── symfony.lock
ডিরেক্টরি এবং তাদের কাজ
1. bin/
- কাজ:
এই ডিরেক্টরি কনসোলে চালানোর জন্য কমান্ড এবং স্ক্রিপ্ট সংরক্ষণ করে। - উল্লেখযোগ্য ফাইল:
console: Symfony CLI-এর মাধ্যমে প্রজেক্ট পরিচালনার জন্য ব্যবহৃত হয়। উদাহরণ:php bin/console
2. config/
- কাজ:
অ্যাপ্লিকেশনের সমস্ত কনফিগারেশন ফাইল এখানে সংরক্ষণ করা হয়।
যেমনঃ রাউটিং, সার্ভিস, প্যাকেজ সেটআপ ইত্যাদি। - উল্লেখযোগ্য ফাইল/ফোল্ডার:
packages/: নির্দিষ্ট প্যাকেজগুলোর কনফিগারেশন।routes.yaml: অ্যাপ্লিকেশনের রাউটিং ডিফিনেশন।services.yaml: সার্ভিস কনফিগারেশন।
3. public/
- কাজ:
এই ডিরেক্টরি ওয়েব ব্রাউজারের মাধ্যমে এক্সেস করা যায়।
অ্যাপ্লিকেশন রান করার জন্য প্রধান এন্ট্রি পয়েন্ট। - উল্লেখযোগ্য ফাইল:
index.php: অ্যাপ্লিকেশন শুরু করার মূল স্ক্রিপ্ট।- স্ট্যাটিক ফাইল (CSS, JS, Images)।
4. src/
- কাজ:
অ্যাপ্লিকেশনের মূল কোড (বিজনেস লজিক) এখানে সংরক্ষিত হয়। - উল্লেখযোগ্য ফোল্ডার:
Controller/: সমস্ত কন্ট্রোলার ক্লাস।Entity/: ডাটাবেসের জন্য Entities বা মডেল।Repository/: ডাটাবেস কোয়েরি এবং ডাটা অপারেশন।Service/: কাস্টম সার্ভিস ক্লাস।
5. templates/
- কাজ:
Twig টেমপ্লেট ফাইলগুলো এখানে সংরক্ষণ করা হয়।
HTML ভিউ লেয়ার তৈরিতে এই ফাইলগুলো ব্যবহৃত হয়। - উল্লেখযোগ্য ফাইল:
.html.twig: Twig টেমপ্লেট ফাইল।
6. tests/
- কাজ:
ইউনিট এবং ফাংশনাল টেস্টিং ফাইল সংরক্ষণের জন্য ব্যবহৃত হয়। - উল্লেখযোগ্য ফাইল/ফোল্ডার:
Unit/: ইউনিট টেস্ট ফাইল।Functional/: ফাংশনাল টেস্ট ফাইল।
7. translations/
- কাজ:
মাল্টি-ল্যাঙ্গুয়েজ সাপোর্টের জন্য ট্রান্সলেশন ফাইল সংরক্ষণ করা হয়।
8. var/
- কাজ:
অ্যাপ্লিকেশন রান করার সময় তৈরি হওয়া ক্যাশ, লগ, এবং অন্যান্য অস্থায়ী ফাইল সংরক্ষণ করে। - উল্লেখযোগ্য ফোল্ডার:
cache/: ক্যাশ ফাইল।log/: অ্যাপ্লিকেশন লগ।
9. vendor/
- কাজ:
Composer-এর মাধ্যমে ডাউনলোড করা সমস্ত থার্ড-পার্টি প্যাকেজ এবং লাইব্রেরি সংরক্ষিত হয়।
ফাইলসমূহ এবং তাদের কাজ
.env
- কাজ:
পরিবেশভিত্তিক কনফিগারেশন (ডাটাবেস, API কী, ইত্যাদি) সংরক্ষণ।
composer.json
- কাজ:
Composer ডিপেন্ডেন্সি ম্যানেজমেন্ট ফাইল। ডিপেন্ডেন্সি এবং স্ক্রিপ্ট লিস্টেড থাকে।
symfony.lock
- কাজ:
ইনস্টল করা প্যাকেজ এবং তাদের সঠিক সংস্করণ লক করে রাখে।
Symfony-এর ডিরেক্টরি স্ট্রাকচার মডুলার এবং সুসংগঠিত, যা বড় প্রজেক্ট পরিচালনা সহজ করে। এটি ডেভেলপারদের কোড রিডেবিলিটি এবং পুনঃব্যবহারযোগ্যতা বাড়ায়।
Read more