Zend Framework বা Laminas এ View Helpers হল ফাংশনালিটি যা ভিউ (HTML) টেমপ্লেটের মধ্যে কমপ্লেক্স লজিক বা সাধারণ টাস্ক (যেমন ফরম্যাটিং, ডাটা প্রক্রিয়াকরণ) করতে ব্যবহৃত হয়। View Helpers ব্যবহার করে আপনি ভিউ ফাইলে সরাসরি PHP লজিক ব্যবহার না করে, পুনঃব্যবহারযোগ্য এবং পরিষ্কার কোড লিখতে পারেন। এটি কোডকে আরও পরিষ্কার, ডিকুপলড এবং রক্ষণাবেক্ষণযোগ্য করে তোলে।
Zend Framework বা Laminas এ View Helpers সাধারণত view ফোল্ডারে থাকে এবং আপনি যেকোনো ভিউ টেমপ্লেটের মধ্যে তাদের ব্যবহার করতে পারেন।
View Helper এর কাজ
View Helpers আপনাকে ডাটা প্রক্রিয়াকরণ, HTML জেনারেশন, অথবা অন্যান্য লজিকাল কাজ সহজে করতে সাহায্য করে, যেগুলি সরাসরি কন্ট্রোলার বা ভিউতে লেখা উচিত নয়। View Helper এর সাহায্যে সাধারণ কাজগুলো যেমন:
- HTML ট্যাগ জেনারেট করা
- ডেটা ফরম্যাট করা (যেমন তারিখ, মুদ্রা)
- লিস্ট বা টেবিল তৈরি করা
- URL গঠন করা
- মেসেজ/এলার্ট জেনারেট করা
সব কিছু আরও সহজ এবং পরিষ্কারভাবে করা সম্ভব।
১. Zend Framework এ View Helper তৈরি করা
Zend Framework এ View Helper তৈরি করতে আপনাকে একটি ক্লাস তৈরি করতে হবে যা Zend\View\Helper\AbstractHelper থেকে ইনহেরিট করবে। এই ক্লাসে আপনি যেকোনো ফাংশনালিটি ডিফাইন করতে পারবেন যা আপনি ভিউতে ব্যবহার করতে চান।
View Helper Class Structure
ফোল্ডার স্ট্রাকচার:
module/Application/src/View/Helper/UpperCase.php
UpperCase.php (একটি কাস্টম ভিউ হেল্পার):
<?php
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
class UpperCase extends AbstractHelper
{
public function __invoke($string)
{
// ইনপুট স্ট্রিংটিকে আপারকেসে রূপান্তরিত করা
return strtoupper($string);
}
}
এখানে আমরা একটি ভিউ হেল্পার তৈরি করেছি যা ইনপুট স্ট্রিংটিকে UPPERCASE তে রূপান্তরিত করবে। __invoke() মেথডটি ভিউ হেল্পারকে ফাংশনালিটি প্রদান করে।
২. View Helper রেজিস্টার করা
Zend Framework বা Laminas এ কাস্টম ভিউ হেল্পার ব্যবহার করার জন্য আপনাকে এটি কনফিগারেশন ফাইলে রেজিস্টার করতে হবে, যাতে এটি অ্যাপ্লিকেশনে উপলব্ধ হয়। এই কাজটি module.config.php ফাইলে করা হয়।
module.config.php:
namespace Application;
return [
'view_helpers' => [
'invokables' => [
'upperCase' => 'Application\View\Helper\UpperCase',
],
],
];
এখানে, আমরা upperCase নামে হেল্পারটি রেজিস্টার করেছি, যা Application\View\Helper\UpperCase ক্লাসকে রেফার করে।
৩. View Helper ব্যবহার করা
একবার ভিউ হেল্পার রেজিস্টার হয়ে গেলে, আপনি আপনার টেমপ্লেট ফাইলের মধ্যে এটি ব্যবহার করতে পারবেন। ভিউ টেমপ্লেটে এটি ব্যবহার করতে, আপনাকে প্রথমে হেল্পারকে কল করতে হবে।
ফোল্ডার স্ট্রাকচার:
module/Application/view/application/index/index.phtml
index.phtml (View Helper ব্যবহার):
<h1><?php echo $this->upperCase('hello world'); ?></h1>
এখানে আমরা upperCase ভিউ হেল্পার ব্যবহার করেছি, যা "hello world" স্ট্রিংটিকে HELLO WORLD তে রূপান্তরিত করবে।
৪. Zend Framework এর Built-in View Helpers
Zend Framework বা Laminas এ অনেক বিল্ট-ইন ভিউ হেল্পার থাকে যা বিভিন্ন সাধারণ কাজ সহজে করতে সাহায্য করে। কিছু সাধারণ বিল্ট-ইন ভিউ হেল্পার হল:
url(): URL তৈরি করতে ব্যবহৃত হয়।ব্যবহার:
<a href="<?php echo $this->url('home'); ?>">Home</a>form(): HTML ফর্মের উপাদান তৈরি করতে ব্যবহৃত হয়।ব্যবহার:
<form action="<?php echo $this->url('submit'); ?>" method="post"> <?php echo $this->formText('name'); ?> </form>escapeHtml(): HTML ইনপুট থেকে স্ক্রিপ্ট বা ইনজেকশন রোধ করতে ব্যবহৃত হয়।ব্যবহার:
<h1><?php echo $this->escapeHtml($message); ?></h1>translate(): ভাষার অনুবাদ করতে ব্যবহৃত হয়।ব্যবহার:
<h1><?php echo $this->translate('Welcome to our website!'); ?></h1>partial(): আংশিক ভিউ টেমপ্লেট রেন্ডার করতে ব্যবহৃত হয়।ব্যবহার:
<?php echo $this->partial('partial/header.phtml'); ?>
৫. View Helper চেইনিং
Zend Framework এ আপনি একাধিক ভিউ হেল্পারকে চেইন করেও ব্যবহার করতে পারেন। এইভাবে একাধিক প্রক্রিয়াকে একসাথে করে কোড লেখা যায়।
উদাহরণ:
<h1><?php echo $this->escapeHtml($this->upperCase('hello world')); ?></h1>
এখানে প্রথমে upperCase হেল্পারটি কল করা হয়েছে এবং তারপরে escapeHtml হেল্পারটি ব্যবহার করা হয়েছে, যাতে HTML ইনজেকশন রোধ করা যায়।
৬. ভিউ হেল্পার প্যারামিটার পাস করা
কিছু ভিউ হেল্পারে একাধিক প্যারামিটার পাস করতে হয়। আপনি সহজেই প্যারামিটার পাঠিয়ে হেল্পার ব্যবহার করতে পারেন।
উদাহরণ: একাধিক প্যারামিটার সহ একটি কাস্টম ভিউ হেল্পার
public function greet($name, $greeting)
{
return $greeting . ', ' . $name . '!';
}
এখন আপনি ভিউতে এটি ব্যবহার করতে পারবেন:
<h1><?php echo $this->greet('John', 'Hello'); ?></h1>
সারাংশ
Zend Framework বা Laminas এ View Helpers ব্যবহার করা ভিউ ফাইলের কোড পরিষ্কার ও কার্যকরী করার জন্য একটি শক্তিশালী উপায়। View Helpers এর মাধ্যমে আপনি ডাটা প্রক্রিয়াকরণ এবং HTML ট্যাগ নির্মাণের মতো কমপ্লেক্স কাজগুলো সহজে করতে পারেন, যা আপনার কোডকে আরও মডুলার এবং রক্ষণাবেক্ষণযোগ্য করে তোলে। Zend Framework এর অনেক বিল্ট-ইন ভিউ হেল্পার রয়েছে, যেমন url(), form(), escapeHtml(), ইত্যাদি, যা সাধারণ কাজগুলো সহজভাবে সম্পন্ন করে। আপনি কাস্টম ভিউ হেল্পারও তৈরি করতে পারেন, এবং সেই হেল্পারগুলো ভিউ টেমপ্লেটের মধ্যে ব্যবহার করতে পারেন।
Read more