Yii ফ্রেমওয়ার্কের View অংশ হল অ্যাপ্লিকেশনের ইউজার ইন্টারফেস (UI) নিয়ন্ত্রণ করার জন্য দায়ী। এই অংশে HTML, CSS, JavaScript কোডের পাশাপাশি PHP ব্যবহার করা হয়, যা ডায়নামিক কনটেন্ট প্রদর্শন করতে সহায়তা করে। Yii ফ্রেমওয়ার্কে View ফাইলগুলো সাধারণত controller থেকে ডেটা পাস করে, এবং তারপর সেই ডেটা ভিউ ফাইলে প্রদর্শিত হয়।
এই অংশে Yii ফ্রেমওয়ার্কে View ফাইল এর কাজ এবং স্ট্রাকচার বিস্তারিতভাবে আলোচনা করা হবে।
Yii ফ্রেমওয়ার্কে View ফাইলের কাজ
Yii-তে View ফাইলগুলোর মূল কাজ হল controller থেকে পাস করা ডেটা ইউজারকে দেখানো। এটি Model-View-Controller (MVC) আর্কিটেকচারের অংশ এবং এটি ইউজার ইন্টারফেস (UI) প্রদর্শন করে।
- Controller: ডেটা গ্রহণ এবং লজিক পরিচালনা করে।
- Model: ডেটাবেস বা অন্যান্য উৎস থেকে ডেটা ম্যানিপুলেট করে।
- View: Controller থেকে পাস করা ডেটা ব্যবহার করে UI রেন্ডার করে।
View ফাইল সাধারণত .php এক্সটেনশনে থাকে এবং HTML এবং PHP কোড মিশ্রিত থাকে। Yii ফ্রেমওয়ার্কে ভিউ ফাইলের জন্য কিছু কনভেনশন এবং কাঠামো রয়েছে।
View ফাইলের স্ট্রাকচার
Yii ফ্রেমওয়ার্কের ভিউ ফাইলগুলোর স্ট্রাকচার বেশ সোজা এবং মডুলার। প্রতিটি কন্ট্রোলারের জন্য আলাদা আলাদা ভিউ ফোল্ডার এবং ফাইল থাকে। এটি বিভিন্ন ভিউ ফাইলের মাধ্যমে অ্যাপ্লিকেশনের বিভিন্ন অংশের UI নিয়ন্ত্রণ করতে সাহায্য করে।
Yii 2 এর View ফাইল স্ট্রাকচার
Yii 2-এ views ডিরেক্টরি সাধারণত কন্ট্রোলার অনুযায়ী বিভক্ত থাকে। একটি সাধারণ স্ট্রাকচার হবে:
myapp/
├── controllers/
│ ├── SiteController.php
│ └── ProductController.php
├── views/
│ ├── site/
│ │ ├── index.php
│ │ ├── about.php
│ │ └── contact.php
│ └── product/
│ ├── index.php
│ ├── view.php
│ └── create.php
└── layouts/
└── main.php
- views ডিরেক্টরি: এখানে বিভিন্ন কন্ট্রোলারের জন্য আলাদা আলাদা ফোল্ডার থাকে। যেমন
siteকন্ট্রোলারের জন্যsiteফোল্ডার এবংproductকন্ট্রোলারের জন্যproductফোল্ডার। - layouts ডিরেক্টরি: এখানে প্রজেক্টের সাধারণ লেআউট ফাইলগুলো থাকে। যেমন
main.phpফাইলটি সাধারণত প্রতিটি পেজের জন্য একটি সাধারণ কাঠামো (Header, Footer, Sidebar) প্রদান করে। অন্য কন্ট্রোলার বা ভিউ ফাইলগুলো এই লেআউট ফাইলটি ইনক্লুড করতে পারে। - ভিউ ফাইলের নাম: কন্ট্রোলারের সাথে সম্পর্কিত পেজের ভিউ ফাইলগুলোর নাম কন্ট্রোলারের অ্যাকশন নামের সাথে সম্পর্কিত থাকে। উদাহরণস্বরূপ,
SiteControllerএরactionIndexএর জন্যviews/site/index.phpফাইলটি হবে।
Yii ফ্রেমওয়ার্কে View ফাইলের প্রধান উপাদান
PHP কোড: PHP কোড ব্যবহার করে ডেটা বা ভ্যারিয়েবল ভিউ ফাইলে ডায়নামিকভাবে প্রদর্শিত হয়।
<h1>Welcome to <?= $this->context->title ?>!</h1> <p>This is the home page of the website.</p>- Yii Helper Functions: Yii ফ্রেমওয়ার্কে বিভিন্ন হেল্পার ফাংশন ব্যবহৃত হয় যেগুলি ভিউ ফাইলে সহজেই ডেটা প্রদর্শন করতে সাহায্য করে। যেমন:
Html::a()– লিঙ্ক তৈরির জন্যHtml::img()– ছবি প্রদর্শন করার জন্যYii::$app->urlManager->createUrl()– ইউআরএল ক্রিয়েট করার জন্য
Yii এর রেন্ডার ফাংশন: কন্ট্রোলার থেকে ডেটা ভিউ ফাইলে পাঠানোর জন্য
render()অথবাrenderPartial()ফাংশন ব্যবহার করা হয়।return $this->render('index', ['message' => 'Hello World!']);
Yii ফ্রেমওয়ার্কে Layout ব্যবহারের ধারণা
Yii ফ্রেমওয়ার্কে layout ব্যবহার করা হয় যাতে প্রজেক্টের ইউজার ইন্টারফেসের কাঠামো একভাবে সাজানো থাকে। Layout ফাইলটি সাধারণত views/layouts ডিরেক্টরিতে থাকে এবং এটি প্রতিটি পেজের জন্য হেডার, ফুটার এবং অন্যান্য কমন এলিমেন্ট অন্তর্ভুক্ত করে।
main.php: এটি সাধারণত অ্যাপ্লিকেশনের প্রধান লেআউট ফাইল, যেখানে পুরো পেজের কাঠামো থাকে। অন্যান্য ভিউ ফাইলগুলো এই লেআউট ব্যবহার করে।
<html> <head> <title><?= $this->title ?></title> </head> <body> <header> <!-- Header Content --> </header> <div class="content"> <?= $content ?> </div> <footer> <!-- Footer Content --> </footer> </body> </html>- $content: ভিউ ফাইলটি এখানে রেন্ডার করা হয়, যা কন্ট্রোলারের মাধ্যমে পাঠানো হয়। ভিউ ফাইলটি লেআউটের মধ্যে এই
$contentভেরিয়েবলের মাধ্যমে প্রদর্শিত হয়।
Yii ফ্রেমওয়ার্কে Partials এবং Rendering
Yii 2 তে, যদি আপনি কোনও নির্দিষ্ট অংশ বা টেমপ্লেট আলাদাভাবে রেন্ডার করতে চান, তাহলে Partial Views ব্যবহার করা হয়। এটি একটি নির্দিষ্ট ভিউ ফাইলের অংশ বা টুকরা রেন্ডার করতে সাহায্য করে।
Partial View ব্যবহার:
<?= $this->renderPartial('_form', ['model' => $model]) ?>
এতে _form.php ভিউটি রেন্ডার হবে, এবং এর মধ্যে মডেল ডেটা পাস করা হবে।
Yii 3 এর View ফাইল স্ট্রাকচার
Yii 3 এখনও উন্নয়ন পর্যায়ে রয়েছে, তবে এটি Yii 2 থেকে অনেকটা আলাদা স্ট্রাকচার ব্যবহার করে। Yii 3-এ module ভিত্তিক স্ট্রাকচার ব্যবহৃত হয় এবং ভিউ ফাইলগুলোর মধ্যে আরও মডিউলার সংগঠন থাকে।
সারাংশ
Yii ফ্রেমওয়ার্কের View ফাইলগুলি Controller থেকে ডেটা গ্রহণ করে এবং তা ইউজার ইন্টারফেসে প্রদর্শন করে। Yii-তে ভিউ ফাইলগুলি কন্ট্রোলার অনুযায়ী ফোল্ডারে থাকে এবং সাধারণত .php এক্সটেনশনে থাকে। এই ভিউ ফাইলগুলি HTML, CSS, JavaScript এবং PHP কোডের সমন্বয়ে তৈরি হয়। Layout ফাইলের মাধ্যমে প্রতিটি পেজের কাঠামো নির্ধারণ করা হয়, এবং Partial Views ব্যবহার করে বিভিন্ন টুকরা রেন্ডার করা যায়।
Read more