Yii ফ্রেমওয়ার্কে ডেভেলপমেন্ট শুরু করার জন্য প্রথমে সঠিক এনভায়রনমেন্ট সেটআপ করা প্রয়োজন। এটি PHP, Composer, Web Server এবং Yii ফ্রেমওয়ার্কের সঠিক সংস্করণ ইন্সটল করা থেকে শুরু হয়। নিচে Yii ফ্রেমওয়ার্কের ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপের পুরো প্রক্রিয়া বিস্তারিতভাবে বর্ণনা করা হলো।
১. PHP ইন্সটল করা
Yii ফ্রেমওয়ার্কের কাজ করার জন্য PHP 7.4 বা তার পরবর্তী সংস্করণ প্রয়োজন। PHP ইন্সটল করতে নিচের পদক্ষেপ অনুসরণ করুন:
Windows:
- PHP এর অফিসিয়াল ওয়েবসাইট থেকে আপনার সিস্টেম অনুযায়ী PHP ডাউনলোড করুন।
PHP ইন্সটল করার পর,
phpকমান্ডের মাধ্যমে কমান্ড প্রম্পট থেকে PHP ভার্সন চেক করুন:php -v
macOS/Linux:
- Homebrew (macOS) বা apt-get (Linux) ব্যবহার করে PHP ইন্সটল করতে পারেন:
macOS (Homebrew):
brew install phpUbuntu (Linux):
sudo apt-get install php php-cli php-mbstring php-xml php-zip
২. Composer ইন্সটল করা
Composer একটি PHP ডিপেনডেন্সি ম্যানেজার, যা Yii ফ্রেমওয়ার্কসহ অন্যান্য প্যাকেজ ইন্সটল করতে ব্যবহৃত হয়। Composer ইন্সটল করতে নিচের পদক্ষেপ অনুসরণ করুন:
Windows:
- Composer এর অফিসিয়াল সাইট থেকে Composer setup.exe ডাউনলোড করে ইন্সটল করুন।
macOS/Linux:
নিচের কমান্ডটি দিয়ে Composer ইন্সটল করুন:
curl -sS https://getcomposer.org/installer | phpঅথবা:
sudo apt-get install composerইন্সটল হওয়ার পর Composer ভার্সন চেক করুন:
composer -v
৩. Web Server (Apache/Nginx) ইন্সটল করা
Yii ফ্রেমওয়ার্ক একটি ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক, তাই একটি ওয়েব সার্ভারের প্রয়োজন হয়। এখানে Apache এবং Nginx এর মাধ্যমে Yii সেভাবেই চালানো যাবে।
Apache:
- Windows: XAMPP বা WAMP এর মাধ্যমে Apache ইন্সটল করা যেতে পারে।
- macOS/Linux: Apache সাধারণত ডিফল্টভাবেই ইন্সটল থাকে, তবে যদি না থাকে, তাহলে এটি ইন্সটল করতে পারেন:
macOS (Homebrew):
brew install apache2Ubuntu:
sudo apt-get install apache2
Nginx:
Ubuntu:
sudo apt-get install nginx
৪. Yii ফ্রেমওয়ার্ক ইন্সটল করা
Yii ফ্রেমওয়ার্কের সর্বশেষ সংস্করণ ইন্সটল করার জন্য Composer ব্যবহার করা সবচেয়ে সহজ পদ্ধতি। Yii ফ্রেমওয়ার্ক ইনস্টল করতে নিচের পদক্ষেপ অনুসরণ করুন:
Composer এর মাধ্যমে Yii ইন্সটল:
একটি নতুন Yii প্রোজেক্ট তৈরি করতে Composer ব্যবহার করুন:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic- এই কমান্ডটি চালানোর পর একটি
basicনামের নতুন ফোল্ডার তৈরি হবে, যেখানে Yii ফ্রেমওয়ার্কের সমস্ত ফাইল থাকবে। এরপর,
basicফোল্ডারে যেতে হবে:cd basicতারপর ওয়েব সার্ভার চালু করুন:
php yii serveএটি আপনার অ্যাপ্লিকেশনটি লোকালহোস্টে (
http://localhost:8080) রান করবে।
৫. ডেটাবেস সেটআপ
Yii ফ্রেমওয়ার্কের সাথে কাজ করার জন্য একটি ডেটাবেস সিস্টেম প্রয়োজন হতে পারে (যেমন MySQL বা PostgreSQL)। ডেটাবেস কনফিগার করার জন্য:
- ডেটাবেস ইন্সটল করুন (যেমন MySQL):
Ubuntu:
sudo apt-get install mysql-server
Yii প্রোজেক্টের
config/db.phpফাইলটি খুলুন এবং আপনার ডেটাবেস ক্রেডেনশিয়াল অনুযায়ী সেটআপ করুন:'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=mydatabase', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ],ডেটাবেস মাইগ্রেশন চালিয়ে স্কিমা সেটআপ করুন:
php yii migrate
৬. Yii এর Gii কোড জেনারেটর
Yii ফ্রেমওয়ার্কের সাথে কোড জেনারেটর Gii রয়েছে, যা মডেল, কন্ট্রোলার, এবং ভিউ অটোমেটিক্যালি জেনারেট করতে সহায়তা করে। Gii টুল ব্যবহারের জন্য এটি সক্রিয় করতে হবে:
config/web.phpফাইলেgiiমডিউলটি সক্রিয় করুন:if (YII_ENV_DEV) { // Configuration for 'dev' environment $config['modules']['gii'] = [ 'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1', '::1'], // Adjust the IPs accordingly ]; }- এখন, আপনি ব্রাউজারে গিয়ে
http://localhost:8080/index.php?r=giiএ গিয়ে Gii ব্যবহার করতে পারবেন।
সারাংশ
Yii ফ্রেমওয়ার্কের ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ করার জন্য PHP, Composer, Web Server, Yii ফ্রেমওয়ার্ক এবং ডেটাবেস সেটআপ করা প্রয়োজন। Composer এর মাধ্যমে Yii ফ্রেমওয়ার্ক ইনস্টল করা সবচেয়ে সহজ এবং দ্রুত পদ্ধতি। একবার সেটআপ হয়ে গেলে, আপনি Yii এর Gii কোড জেনারেটর ব্যবহার করে দ্রুত ডেভেলপমেন্ট শুরু করতে পারেন।
Yii ফ্রেমওয়ার্ক ব্যবহার করতে PHP এবং Composer ইনস্টল করা প্রয়োজন। এই দুটি টুল PHP ডেভেলপমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ। নিচে PHP এবং Composer ইনস্টল করার বিস্তারিত নির্দেশনা দেওয়া হলো।
১. PHP ইনস্টলেশন
PHP ফ্রেমওয়ার্ক বা অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য প্রথমেই PHP ইন্সটল করতে হবে। Yii ফ্রেমওয়ার্ক চালানোর জন্য PHP 7.4 বা তার পরবর্তী সংস্করণ প্রয়োজন।
Windows (XAMPP/WAMP দিয়ে PHP ইনস্টল):
- XAMPP বা WAMP ইনস্টল করুন, যা PHP, MySQL এবং Apache Server একসাথে ইন্সটল করে।
- XAMPP ডাউনলোড করুন: https://www.apachefriends.org/index.html
- WAMP ডাউনলোড করুন: http://www.wampserver.com/en/
- ইন্সটল করার পর, XAMPP বা WAMP কন্ট্রোল প্যানেল থেকে Apache সার্ভার চালু করুন।
PHP ভার্সন চেক করতে, কমান্ড প্রম্পট খুলে নিচের কমান্ড লিখুন:
php -v
macOS (Homebrew দিয়ে PHP ইনস্টল):
Homebrew (macOS package manager) ব্যবহার করে PHP ইনস্টল করতে:
brew install phpPHP ইনস্টল হওয়ার পর, কমান্ড লাইন থেকে PHP ভার্সন চেক করুন:
php -v
Linux (Ubuntu/Debian):
Ubuntu বা Debian-এ PHP ইনস্টল করতে:
sudo apt-get update sudo apt-get install php php-cli php-mbstring php-xml php-zipPHP ইনস্টল হওয়ার পর, কমান্ড লাইন থেকে PHP ভার্সন চেক করুন:
php -v
২. Composer ইনস্টলেশন
Composer একটি PHP ডিপেনডেন্সি ম্যানেজার, যা PHP প্যাকেজ এবং ফ্রেমওয়ার্ক ইনস্টল করতে ব্যবহৃত হয়। Yii ফ্রেমওয়ার্কের মতো বড় প্রোজেক্টের জন্য Composer অত্যন্ত গুরুত্বপূর্ণ।
Windows (Composer Setup):
- Composer এর অফিসিয়াল ওয়েবসাইট থেকে Composer Setup.exe ডাউনলোড করুন:
- Composer Setup.exe চালু করুন এবং ইন্সটলেশন পদ্ধতি অনুসরণ করুন।
ইনস্টলেশন শেষে, কমান্ড প্রম্পটে Composer ভার্সন চেক করতে:
composer -v
macOS/Linux (Composer CLI):
macOS/Linux-এ Composer ইন্সটল করতে, নিচের কমান্ড ব্যবহার করুন:
curl -sS https://getcomposer.org/installer | phpComposer ইনস্টল হওয়ার পর, Composer কমান্ড লাইনে ব্যবহারের জন্য গ্লোবালি ইন্সটল করতে:
sudo mv composer.phar /usr/local/bin/composerComposer ভার্সন চেক করতে:
composer -v
Composer প্যাকেজ ম্যানেজার (Linux/Ubuntu):
Linux (Ubuntu) ব্যবহারকারীদের জন্য Composer ইন্সটল:
sudo apt-get install composerComposer ভার্সন চেক করতে:
composer -v
৩. PHP এবং Composer ইনস্টলেশনের পরীক্ষা
একবার PHP এবং Composer ইন্সটল হয়ে গেলে, তাদের সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করার জন্য নিচের কমান্ডগুলো চালিয়ে পরীক্ষা করুন:
PHP ভার্সন চেক:
php -vComposer ভার্সন চেক:
composer -v
এই দুটি কমান্ডই যদি সঠিকভাবে কাজ করে এবং আপনি PHP ও Composer এর ভার্সন দেখতে পান, তবে আপনার সিস্টেমে PHP এবং Composer সঠিকভাবে ইনস্টল হয়েছে।
সারাংশ
PHP এবং Composer ইনস্টল করা Yii ফ্রেমওয়ার্কে ডেভেলপমেন্ট শুরু করার প্রথম পদক্ষেপ। PHP ইনস্টল করার পর Composer এর মাধ্যমে প্রয়োজনীয় প্যাকেজ এবং ফ্রেমওয়ার্ক ইন্সটল করা সহজ হয়ে যায়। Composer ইনস্টলেশন সফল হলে, আপনি সহজেই Yii ফ্রেমওয়ার্কের সাথে কাজ করতে পারবেন এবং এর মাধ্যমে ওয়েব অ্যাপ্লিকেশন ডেভেলপ করতে পারবেন।
Yii ফ্রেমওয়ার্কের দুটি প্রধান সংস্করণ রয়েছে: Yii 2 এবং Yii 3। Yii 2 এখনো প্রধানভাবে ব্যবহৃত ফ্রেমওয়ার্ক, তবে Yii 3 একটি নতুন সংস্করণ যা বর্তমানের PHP স্ট্যান্ডার্ড অনুযায়ী উন্নত করা হচ্ছে। এই অংশে আমরা Yii 2 এবং Yii 3 এর ইনস্টলেশন প্রক্রিয়া বিস্তারিতভাবে দেখব।
১. Yii 2 ইনস্টলেশন
Yii 2, Yii ফ্রেমওয়ার্কের বর্তমান স্থিতিশীল সংস্করণ এবং বেশিরভাগ ডেভেলপারদের জন্য ব্যবহৃত হয়। Yii 2 ইনস্টল করতে Composer ব্যবহার করা হয়।
Yii 2 ইনস্টলেশন (Basic Application Template):
Yii 2 ইনস্টল করার জন্য Composer ব্যবহার করা সবচেয়ে সহজ পদ্ধতি। নিচে পদক্ষেপগুলির মাধ্যমে Yii 2 ইনস্টলেশন করা যাবে।
- Composer ব্যবহার করে Yii 2 ইনস্টল করা:
টার্মিনাল বা কমান্ড প্রম্পট খুলুন এবং নিচের কমান্ডটি ব্যবহার করুন:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic- এই কমান্ডটি basic নামক একটি নতুন ফোল্ডার তৈরি করবে, যেখানে Yii 2 এর সমস্ত ফাইল থাকবে।
- প্রোজেক্ট ডিরেক্টরিতে যান:
ইনস্টলেশন শেষে, নতুন প্রোজেক্ট ফোল্ডারে যেতে হবে:
cd basic
- Yii সার্ভার চালু করা:
প্রোজেক্টে Yii সার্ভার চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
php yii serve
- ওয়েব ব্রাউজারে অ্যাপ্লিকেশন চালু করা:
- সার্ভার চালু হলে, আপনি আপনার ওয়েব ব্রাউজারে গিয়ে
http://localhost:8080ঠিকানায় অ্যাপ্লিকেশন দেখতে পাবেন।
- সার্ভার চালু হলে, আপনি আপনার ওয়েব ব্রাউজারে গিয়ে
২. Yii 2 ইনস্টলেশন (Advanced Application Template):
Yii 2 এর Advanced Application Template বড় এবং স্কেলেবল অ্যাপ্লিকেশনের জন্য উপযুক্ত। এটি একটি পূর্ণাঙ্গ ওয়েব অ্যাপ্লিকেশন স্ট্রাকচার সরবরাহ করে, যা ফ্রন্টএন্ড এবং ব্যাকএন্ড সিস্টেমের মধ্যে আলাদা আলাদা অ্যাপ্লিকেশন পরিচালনা করতে সহায়তা করে।
Composer ব্যবহার করে Yii 2 Advanced Template ইনস্টল:
composer create-project --prefer-dist yiisoft/yii2-app-advanced advancedপ্রোজেক্ট ডিরেক্টরিতে যান:
cd advanced- ডেটাবেস কনফিগার করা:
config/db.phpফাইলে ডেটাবেস সংযোগ কনফিগার করুন। উদাহরণস্বরূপ:'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=mydatabase', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ],
ডেটাবেস মাইগ্রেশন চালানো:
php yii migrate- Yii সার্ভার চালু করা:
প্রোজেক্ট ফোল্ডারে গিয়ে এই কমান্ডটি চালান:
php yii serve
- ওয়েব ব্রাউজারে অ্যাপ্লিকেশন দেখতে:
- ওয়েব ব্রাউজারে
http://localhost:8080এ গিয়ে অ্যাপ্লিকেশন দেখুন।
- ওয়েব ব্রাউজারে
৩. Yii 3 ইনস্টলেশন
Yii 3 হল Yii ফ্রেমওয়ার্কের পরবর্তী সংস্করণ যা সম্পূর্ণরূপে নতুন আর্কিটেকচার এবং আধুনিক PHP স্ট্যান্ডার্ড অনুযায়ী নির্মিত। Yii 3 বর্তমানে বিটা পর্যায়ে রয়েছে এবং এর অনেক ফিচার এখনও উন্নয়নের মধ্যে রয়েছে। Yii 3 ইনস্টল করার জন্য Composer ব্যবহৃত হয়, তবে এর ইনস্টলেশন প্রক্রিয়া কিছুটা ভিন্ন।
Yii 3 ইনস্টলেশন:
- Composer ব্যবহার করে Yii 3 ইনস্টল:
Yii 3 ইনস্টল করার জন্য নিচের কমান্ডটি ব্যবহার করুন:
composer create-project yiisoft/yii-demo-app myapp
- প্রোজেক্ট ডিরেক্টরিতে যান:
ইনস্টলেশন শেষে নতুন প্রোজেক্ট ফোল্ডারে যেতে হবে:
cd myapp
- Yii 3 সার্ভার চালানো:
Yii 3 প্রোজেক্ট চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
php yii serve
- ওয়েব ব্রাউজারে অ্যাপ্লিকেশন দেখতে:
- ওয়েব ব্রাউজারে
http://localhost:8080এ গিয়ে অ্যাপ্লিকেশন দেখুন।
- ওয়েব ব্রাউজারে
সারাংশ
- Yii 2 হলো Yii ফ্রেমওয়ার্কের বর্তমানে ব্যবহৃত এবং স্থিতিশীল সংস্করণ। Yii 2 এর Basic এবং Advanced টেমপ্লেট রয়েছে, যা বিভিন্ন ধরনের অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে।
- Yii 3 হচ্ছে Yii ফ্রেমওয়ার্কের পরবর্তী সংস্করণ, যা আধুনিক PHP স্ট্যান্ডার্ড অনুসরণ করে এবং আরও কাস্টমাইজযোগ্য ও মডিউলার আর্কিটেকচার প্রদান করে।
Yii 2 ইনস্টল করতে Composer ব্যবহার করা সহজ এবং এটি অনেক ডেভেলপারদের মধ্যে জনপ্রিয়। Yii 3 এখনও বিটা পর্যায়ে রয়েছে এবং ভবিষ্যতে আরো উন্নত ফিচার প্রদান করবে।
Yii ফ্রেমওয়ার্ক ব্যবহার করে প্রথম প্রজেক্ট তৈরি করা একটি সহজ প্রক্রিয়া। এই প্রক্রিয়ায় আপনি Yii 2 বা Yii 3 ব্যবহার করতে পারেন। এখানে Yii 2 ব্যবহার করে প্রথম প্রজেক্ট তৈরি করার স্টেপ-বাই-স্টেপ নির্দেশনা দেওয়া হলো। Yii 3 এর প্রক্রিয়া তুলনামূলকভাবে আরও নতুন, তবে এর জন্যও Composer ব্যবহার করে ইনস্টল করা যায়।
১. Yii 2 প্রজেক্ট তৈরি করা
Composer দিয়ে Yii 2 ইনস্টল করা
Yii 2-এ প্রথম প্রজেক্ট তৈরি করতে আপনাকে Composer ব্যবহার করে Basic Application Template অথবা Advanced Application Template ডাউনলোড করতে হবে।
- Composer দিয়ে Basic Application Template তৈরি করা:
প্রথমে Composer ব্যবহার করে নতুন Yii প্রজেক্ট তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:
composer create-project --prefer-dist yiisoft/yii2-app-basic myapp- এই কমান্ডটি
myappনামক একটি নতুন ফোল্ডার তৈরি করবে, যেখানে Yii 2 ফ্রেমওয়ার্কের Basic Application Template ইনস্টল হয়ে যাবে।
Advanced Application Template ব্যবহার করা:
যদি আপনি বড় বা স্কেলেবল অ্যাপ্লিকেশন তৈরি করতে চান, তবে Advanced Application Template ব্যবহার করতে পারেন:
composer create-project --prefer-dist yiisoft/yii2-app-advanced myapp- Advanced template-এ ফ্রন্টএন্ড এবং ব্যাকএন্ড অ্যাপ্লিকেশন আলাদাভাবে সাজানো থাকে।
Yii 2 প্রজেক্ট ফোল্ডারে যান
একবার প্রজেক্টটি তৈরি হলে, টার্মিনাল বা কমান্ড প্রম্পট থেকে তৈরি করা ফোল্ডারে যান:
cd myapp
Yii সার্ভার চালু করা
Yii 2 প্রজেক্ট চলানোর জন্য আপনি Yii এর বিল্ট-ই সার্ভার ব্যবহার করতে পারেন। নিচের কমান্ডটি চালান:
php yii serve
এই কমান্ডটি একটি লোকাল সার্ভার চালু করবে এবং আপনি আপনার ব্রাউজারে http://localhost:8080 গিয়ে অ্যাপ্লিকেশন দেখতে পারবেন।
২. Yii 3 প্রজেক্ট তৈরি করা
Yii 3-এর জন্য প্রজেক্ট তৈরি করার প্রক্রিয়া কিছুটা আলাদা। Yii 3 এখনও উন্নয়ন পর্যায়ে রয়েছে, তাই Composer দিয়ে একক অ্যাপ্লিকেশন তৈরি করা বেশ সহজ।
Composer দিয়ে Yii 3 প্রজেক্ট তৈরি করা:
Yii 3-এর ডেমো অ্যাপ্লিকেশন তৈরি করতে, Composer ব্যবহার করে নিম্নলিখিত কমান্ডটি চালান:
composer create-project yiisoft/yii-demo-app myapp- এই কমান্ডটি
myappনামে একটি নতুন ডিরেক্টরি তৈরি করবে, যেখানে Yii 3-এর ডেমো অ্যাপ্লিকেশন ইনস্টল হবে।
- এই কমান্ডটি
Yii 3 প্রজেক্ট ফোল্ডারে যান:
cd myappYii 3 সার্ভার চালু করা:
Yii 3-এর প্রজেক্ট চালানোর জন্যও Yii এর বিল্ট-ই সার্ভার ব্যবহার করা যায়:
php yii serve- তারপর আপনি ওয়েব ব্রাউজারে গিয়ে
http://localhost:8080এ অ্যাপ্লিকেশনটি দেখতে পারবেন।
- তারপর আপনি ওয়েব ব্রাউজারে গিয়ে
৩. প্রজেক্ট কাস্টমাইজেশন
আপনি যখন আপনার প্রথম Yii প্রজেক্ট তৈরি করবেন, তখন বিভিন্ন অংশ কাস্টমাইজ করতে পারেন। যেমন:
- কনফিগ ফাইল পরিবর্তন:
config/web.phpবাconfig/console.phpফাইলে অ্যাপ্লিকেশনের কনফিগ সেটিংস পরিবর্তন করতে পারেন। কন্ট্রোলার তৈরি: Yii 2-তে কন্ট্রোলার তৈরি করতে,
yii gii/controllerব্যবহার করে কন্ট্রোলার জেনারেট করতে পারেন। উদাহরণস্বরূপ:php yii gii/controller --controllerClass=app\\controllers\\MyController --actions=index,view- মডেল তৈরি: মডেল তৈরি করতে
yii gii/modelব্যবহার করতে পারেন, যেখানে আপনি ডেটাবেস টেবিলের সাথে মডেল মেপ করবেন।
সারাংশ
Yii 2 বা Yii 3 দিয়ে প্রথম প্রজেক্ট তৈরি করা খুবই সহজ এবং Composer এর মাধ্যমে প্রজেক্ট ইনস্টলেশন প্রক্রিয়া দ্রুত হয়। Yii 2-এ আপনি Basic বা Advanced টেমপ্লেট ব্যবহার করে অ্যাপ্লিকেশন তৈরি করতে পারেন, আর Yii 3 আধুনিক PHP স্ট্যান্ডার্ড অনুসরণ করে মডিউলভিত্তিক কাঠামো প্রদান করে। প্রথম প্রজেক্ট তৈরি করার পর, আপনি বিভিন্ন কাস্টমাইজেশন করে আপনার অ্যাপ্লিকেশনটি আরো শক্তিশালী করতে পারবেন।
Yii ফ্রেমওয়ার্কের প্রজেক্ট ডিরেক্টরি স্ট্রাকচার একটি নির্দিষ্ট গঠন অনুসরণ করে থাকে, যা কোডের সংগঠন এবং মেইনটেনেন্স সহজ করে। Yii 2 এবং Yii 3-এর ডিরেক্টরি স্ট্রাকচার কিছুটা ভিন্ন, কারণ Yii 3 এখনও উন্নয়ন পর্যায়ে রয়েছে এবং এটি Yii 2 থেকে কিছুটা আলাদা। নিচে Yii 2 এবং Yii 3 এর ডিরেক্টরি স্ট্রাকচারের বিস্তারিত ব্যাখ্যা দেওয়া হলো।
Yii 2 ডিরেক্টরি স্ট্রাকচার
Yii 2-এ দুটি প্রধান অ্যাপ্লিকেশন টেমপ্লেট রয়েছে: Basic Application Template এবং Advanced Application Template। এগুলোর ডিরেক্টরি স্ট্রাকচার আলাদা।
১. Basic Application Template
Basic Application Template ছোট এবং একক অ্যাপ্লিকেশন প্রকল্পের জন্য উপযুক্ত। এর ডিরেক্টরি স্ট্রাকচার খুবই সরল।
basic/
├── assets/ # ওয়েব অ্যাসেটস (CSS, JS)
├── commands/ # কাস্টম কনসোল কমান্ড
├── config/ # কনফিগারেশন ফাইল
│ ├── web.php # ওয়েব কনফিগ
│ └── console.php # কনসোল কনফিগ
├── controllers/ # কন্ট্রোলার ক্লাস
├── models/ # মডেল ক্লাস
├── runtime/ # রানটাইম ফাইল (ক্যাশ, লগ)
├── views/ # ভিউ ফাইল (HTML, PHP টেমপ্লেট)
├── web/ # পাবলিক ডিরেক্টরি (Index ফাইল, রিসোর্স)
│ └── index.php # অ্যাপ্লিকেশনের ইনডেক্স ফাইল
└── yii # Yii কনসোল স্ক্রিপ্ট
- assets/: CSS, JavaScript ফাইল সংরক্ষণ করা হয়।
- commands/: কাস্টম কনসোল কমান্ড স্টোর করা হয়।
- config/: অ্যাপ্লিকেশনের কনফিগ ফাইল যেমন
web.php,console.phpএখানে থাকে। - controllers/: কন্ট্রোলার ক্লাসগুলো সংরক্ষিত থাকে।
- models/: মডেল ক্লাস যেখানে ডেটাবেসের সাথে যোগাযোগের জন্য কোড লেখা হয়।
- runtime/: রানটাইম ডেটা, ক্যাশ এবং লগ ফাইল এখানে থাকে।
- views/: ইউজার ইন্টারফেস (UI) ভিউ টেমপ্লেট সংরক্ষণ করা হয়।
- web/: পাবলিক ডিরেক্টরি যেখানে অ্যাসেটস, রিসোর্স এবং ওয়েব অ্যাপ্লিকেশন চলে।
২. Advanced Application Template
Advanced Application Template বড় এবং স্কেলেবল অ্যাপ্লিকেশন প্রোজেক্টের জন্য উপযুক্ত। এটি ফ্রন্টএন্ড এবং ব্যাকএন্ড অ্যাপ্লিকেশন দুটি আলাদাভাবে সাজানো থাকে।
advanced/
├── backend/ # ব্যাকএন্ড অ্যাপ্লিকেশন
│ ├── assets/ # ওয়েব অ্যাসেটস (CSS, JS)
│ ├── commands/ # কাস্টম কনসোল কমান্ড
│ ├── config/ # কনফিগারেশন ফাইল
│ ├── controllers/ # কন্ট্রোলার ক্লাস
│ ├── models/ # মডেল ক্লাস
│ ├── runtime/ # রানটাইম ফাইল
│ ├── views/ # ভিউ ফাইল
│ └── web/ # পাবলিক ডিরেক্টরি
├── common/ # কমন কোড (ব্যাকএন্ড ও ফ্রন্টএন্ড শেয়ার করা কোড)
│ ├── config/ # সাধারণ কনফিগ ফাইল
│ ├── models/ # কমন মডেল
│ └── components/ # কমন কম্পোনেন্টস
├── frontend/ # ফ্রন্টএন্ড অ্যাপ্লিকেশন
│ ├── assets/ # ওয়েব অ্যাসেটস (CSS, JS)
│ ├── commands/ # কাস্টম কনসোল কমান্ড
│ ├── config/ # কনফিগ ফাইল
│ ├── controllers/ # কন্ট্রোলার ক্লাস
│ ├── models/ # মডেল ক্লাস
│ ├── runtime/ # রানটাইম ফাইল
│ ├── views/ # ভিউ ফাইল
│ └── web/ # পাবলিক ডিরেক্টরি
└── yii # Yii কনসোল স্ক্রিপ্ট
- backend/: ব্যাকএন্ড অ্যাপ্লিকেশনের সমস্ত ফাইল এই ডিরেক্টরিতে থাকে।
- common/: ফ্রন্টএন্ড এবং ব্যাকএন্ড উভয় অ্যাপ্লিকেশনের মধ্যে শেয়ার করা কোড এবং কনফিগ ফাইল।
- frontend/: ফ্রন্টএন্ড অ্যাপ্লিকেশন সংক্রান্ত সমস্ত ফাইল এখানে থাকে।
Yii 3 ডিরেক্টরি স্ট্রাকচার
Yii 3 একটি নতুন ভার্সন, যা এখনও উন্নয়ন পর্যায়ে রয়েছে এবং কিছু ডিরেক্টরি কাঠামো Yii 2 থেকে আলাদা। Yii 3-এ মূল কাঠামো অনেকটা মডিউলার এবং মডিউল ভিত্তিক। Yii 3-এর ডিরেক্টরি স্ট্রাকচার কিছুটা পরিবর্তিত, তবে প্রাথমিকভাবে এটি ছোট এবং মডিউলার অ্যাপ্লিকেশনের জন্য উপযোগী।
myapp/
├── assets/ # ওয়েব অ্যাসেটস (CSS, JS)
├── config/ # কনফিগারেশন ফাইল
├── modules/ # মডিউলস (এটি কোডকে আলাদা আলাদা মডিউলে ভাগ করে)
├── public/ # পাবলিক ডিরেক্টরি
│ └── index.php # অ্যাপ্লিকেশনের ইনডেক্স ফাইল
├── runtime/ # রানটাইম ডেটা
├── src/ # সোর্স কোড
│ ├── controllers/ # কন্ট্রোলার ক্লাস
│ ├── models/ # মডেল ক্লাস
│ └── views/ # ভিউ ফাইল
└── yii # Yii কনসোল স্ক্রিপ্ট
- assets/: ওয়েব অ্যাসেটস (CSS, JS) সংরক্ষিত হয়।
- config/: অ্যাপ্লিকেশনের কনফিগ ফাইল।
- modules/: মডিউল ভিত্তিক সংগঠন, যেখানে বিভিন্ন ফিচারের জন্য আলাদা মডিউল থাকে।
- public/: পাবলিক ডিরেক্টরি, যেখানে অ্যাসেটস এবং রিসোর্স সরবরাহ করা হয়।
- runtime/: রানটাইম ফাইল যেমন লগ এবং ক্যাশ।
- src/: সোর্স কোড যেখানে কন্ট্রোলার, মডেল এবং ভিউ থাকে।
সারাংশ
Yii 2 এবং Yii 3-এর ডিরেক্টরি স্ট্রাকচার কিছুটা ভিন্ন, তবে উভয় ফ্রেমওয়ার্কেই স্পষ্টভাবে অ্যাপ্লিকেশন কোড আলাদা করা হয় এবং প্রতিটি উপাদান (কন্ট্রোলার, মডেল, ভিউ) আলাদা ডিরেক্টরিতে থাকে। Yii 2-এ দুইটি মূল টেমপ্লেট (Basic এবং Advanced) রয়েছে, যেখানে Advanced Template বড় অ্যাপ্লিকেশন তৈরির জন্য উপযুক্ত। Yii 3-এর স্ট্রাকচার আরও মডিউলার এবং আধুনিক, যা নতুন পদ্ধতিতে কোডের সংগঠন এবং মেইনটেনেন্স সহজ করে।
Read more