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-এর ডিরেক্টরি স্ট্রাকচার মডুলার এবং সুসংগঠিত, যা বড় প্রজেক্ট পরিচালনা সহজ করে। এটি ডেভেলপারদের কোড রিডেবিলিটি এবং পুনঃব্যবহারযোগ্যতা বাড়ায়।
Content added By
Read more