CodeIgniter ডিফল্টভাবে PHP Views ব্যবহার করে, তবে কিছু ডেভেলপার বিশেষত Blade (Laravel-এ ব্যবহৃত) বা Twig (Symfony-তে ব্যবহৃত) মত টেমপ্লেট ইঞ্জিন ব্যবহার করতে prefer করেন। এগুলো আরও শক্তিশালী এবং সহজ syntax সরবরাহ করে, যা ভিউ টেমপ্লেট লেখার কাজকে আরও সুবিধাজনক এবং পরিষ্কার করে তোলে।
এখানে Blade এবং Twig টেমপ্লেট ইঞ্জিনের সাথে CodeIgniter ইন্টিগ্রেট করার প্রক্রিয়া আলোচনা করা হয়েছে।
Blade একটি পপুলার টেমপ্লেট ইঞ্জিন যা Laravel ফ্রেমওয়ার্কে ব্যবহৃত হয়, তবে আপনি এটি CodeIgniter-এর সাথে ইন্টিগ্রেটও করতে পারেন। Blade ব্যবহারের জন্য আমাদের কিছু অতিরিক্ত লাইব্রেরি ইন্সটল করতে হবে।
CodeIgniter-এ Blade টেমপ্লেট ইঞ্জিন ইন্টিগ্রেট করার জন্য আপনাকে একটি Blade লাইব্রেরি ইনস্টল করতে হবে। এখানে আমরা eftec/bladeone
লাইব্রেরিটি ব্যবহার করব, যা Blade ইঞ্জিনের একটি PHP ভার্সন।
composer require eftec/bladeone
এটি ইন্সটল করার পর, Blade টেমপ্লেট ইঞ্জিন CodeIgniter-এ ব্যবহার করার জন্য নিচে দেখানো নির্দেশাবলী অনুসরণ করুন।
app/Libraries/Blade.php
ফাইল তৈরি করুন এবং BladeOne লাইব্রেরি সেটআপ করুন:
<?php
namespace App\Libraries;
use eftec\bladeone\BladeOne;
class Blade {
protected $blade;
public function __construct() {
$views = APPPATH . 'Views'; // Blade টেমপ্লেটের লোকেশন
$cache = WRITEPATH . 'cache'; // ক্যাশ লোকেশন
$this->blade = new BladeOne($views, $cache, BladeOne::MODE_AUTO);
}
public function view($view, $data = []) {
return $this->blade->run($view, $data);
}
}
Controller-এ Blade টেমপ্লেট ব্যবহার করতে হবে।
<?php
namespace App\Controllers;
use App\Libraries\Blade;
class Home extends BaseController {
public function index() {
$blade = new Blade();
// Blade টেমপ্লেট এবং ডেটা পাঠানো
return $blade->view('welcome', ['name' => 'John Doe']);
}
}
app/Views/welcome.blade.php
ফাইলে Blade টেমপ্লেট তৈরি করুন।
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Hello, {{ $name }}!</h1>
</body>
</html>
Twig একটি শক্তিশালী এবং জনপ্রিয় টেমপ্লেট ইঞ্জিন যা Symfony এবং অন্যান্য PHP ফ্রেমওয়ার্কে ব্যবহৃত হয়। এটি দ্রুত এবং পরিষ্কার টেমপ্লেট লেখা সহ অনেক শক্তিশালী ফিচার সরবরাহ করে।
Twig ইন্সটল করতে আপনাকে Composer ব্যবহার করতে হবে।
composer require "twig/twig:^3.0"
app/Libraries/Twig.php
ফাইল তৈরি করুন এবং Twig লাইব্রেরি সেটআপ করুন:
<?php
namespace App\Libraries;
use Twig\Environment;
use Twig\Loader\FilesystemLoader;
class Twig {
protected $twig;
public function __construct() {
$loader = new FilesystemLoader(APPPATH . 'Views'); // Views ডিরেক্টরি
$this->twig = new Environment($loader, [
'cache' => WRITEPATH . 'cache', // ক্যাশ ডিরেক্টরি
'auto_reload' => true,
]);
}
public function view($view, $data = []) {
echo $this->twig->render($view . '.twig', $data);
}
}
Controller-এ Twig টেমপ্লেট ব্যবহার করতে:
<?php
namespace App\Controllers;
use App\Libraries\Twig;
class Home extends BaseController {
public function index() {
$twig = new Twig();
// Twig টেমপ্লেট এবং ডেটা পাঠানো
return $twig->view('welcome', ['name' => 'John Doe']);
}
}
app/Views/welcome.twig
ফাইলে Twig টেমপ্লেট তৈরি করুন।
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Hello, {{ name }}!</h1>
</body>
</html>
Blade এবং Twig দুটি শক্তিশালী টেমপ্লেট ইঞ্জিন, যা CodeIgniter-এ সহজেই ইন্টিগ্রেট করা যায়। আপনি Blade বা Twig ব্যবহার করতে পারেন, এবং এতে ফাইলের শেয়ারিং, লুপ, কন্ডিশন, ইনক্লুডিং ইত্যাদি অপারেশনগুলি দ্রুত এবং সহজভাবে করা সম্ভব। Blade এবং Twig ইঞ্জিন ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনকে আরও পরিষ্কার, সহজ এবং মডুলারভাবে তৈরি করতে পারবেন।