Module তৈরি এবং কনফিগার করা

মডিউলস এবং অ্যাপ্লিকেশন মড্যুলারিটি - জী ফ্রেমওয়ার্ক (Yii Framework) - Web Development

238

Yii ফ্রেমওয়ার্কে মডিউল একটি স্বতন্ত্র ইউনিট বা অংশ, যা একটি অ্যাপ্লিকেশনের নির্দিষ্ট ফিচার বা কার্যক্রম পরিচালনা করে। মডিউল ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনটির কোড আরও সংগঠিত, পুনঃব্যবহারযোগ্য এবং মডুলার হয়ে ওঠে। Yii-তে মডিউলগুলো সহজেই তৈরি ও কনফিগার করা যায়, এবং এই মডিউলগুলো অ্যাপ্লিকেশনের বিভিন্ন অংশের জন্য আলাদা কার্যক্ষমতা প্রদান করতে পারে।

মডিউল তৈরি করা এবং কনফিগার করা সম্পর্কে এই গাইডটি আপনাকে সাহায্য করবে।


১. Yii ফ্রেমওয়ার্কে মডিউল তৈরি

Yii ফ্রেমওয়ার্কে মডিউল তৈরি করা অনেক সহজ। প্রথমত, আপনাকে একটি নতুন মডিউল ডিরেক্টরি তৈরি করতে হবে এবং সেখানে একটি Module.php ফাইল রাখতে হবে।

১.১ মডিউল ডিরেক্টরি এবং ফাইল তৈরি করা

ধরা যাক, আমরা একটি blog নামের মডিউল তৈরি করতে চাই।

  1. মডিউল ডিরেক্টরি তৈরি করুন
    modules নামক একটি ডিরেক্টরি অ্যাপ্লিকেশনের রুটে তৈরি করুন, তারপর তার মধ্যে একটি blog নামক সাব-ডিরেক্টরি তৈরি করুন।
  2. Module.php ফাইল তৈরি করুন
    modules/blog ডিরেক্টরিতে একটি Module.php ফাইল তৈরি করুন। এই ফাইলে মডিউলের মূল কনফিগারেশন থাকবে।
namespace app\modules\blog;

use yii\base\Module;

class BlogModule extends Module
{
    public $controllerNamespace = 'app\modules\blog\controllers';

    public function init()
    {
        parent::init();
        // মডিউলের কাস্টম ইনিশিয়ালাইজেশন কোড
    }
}
  • controllerNamespace: এটি নির্দেশ করে মডিউলের কন্ট্রোলার ক্লাসগুলো কোথায় থাকবে। সাধারণত, মডিউলের কন্ট্রোলারগুলো আলাদা ডিরেক্টরিতে থাকে।

১.২ মডিউলের কন্ট্রোলার তৈরি

blog মডিউলে একটি কন্ট্রোলার তৈরি করতে, controllers নামক একটি ডিরেক্টরি তৈরি করুন এবং সেখানে একটি কন্ট্রোলার ক্লাস তৈরি করুন। যেমন:

namespace app\modules\blog\controllers;

use yii\web\Controller;

class PostController extends Controller
{
    public function actionIndex()
    {
        return $this->render('index');
    }
}

এখানে PostController কন্ট্রোলারটি মডিউলের পোস্ট সম্পর্কিত কার্যক্রম পরিচালনা করবে এবং actionIndex মেথডটি একটি ভিউ রেন্ডার করবে।

১.৩ মডিউলের ভিউ তৈরি

মডিউল ভিউ ফাইলগুলো views ডিরেক্টরিতে রাখা হয়। blog মডিউলের জন্য একটি views ডিরেক্টরি তৈরি করুন এবং সেখানে post/index.php ফাইল তৈরি করুন।

namespace app\modules\blog\views\post;

echo "Welcome to the Blog Module!";

২. মডিউল কনফিগারেশন

Yii অ্যাপ্লিকেশনে মডিউল কনফিগার করতে হবে যাতে মডিউলটি সক্রিয় হয় এবং অ্যাপ্লিকেশনের একটি অংশ হয়ে কাজ করে।

২.১ মডিউল কনফিগারেশন ফাইলে যুক্ত করা

config/web.php ফাইলের modules অ্যারে তে আপনার মডিউলটি যুক্ত করুন।

return [
    'id' => 'app',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'modules' => [
        'blog' => [
            'class' => 'app\modules\blog\BlogModule',
        ],
    ],
    // অন্যান্য কনফিগারেশন...
];
  • এখানে blog মডিউলটি app\modules\blog\BlogModule ক্লাস দ্বারা রেজিস্টার করা হচ্ছে। মডিউলটির ক্লাস পাথ এবং নাম অবশ্যই সঠিক হতে হবে।

২.২ অ্যাক্সেস URL তৈরি

এখন, অ্যাপ্লিকেশনে /blog/post/index URL দ্বারা আপনি আপনার মডিউলটির অ্যাক্সেস করতে পারবেন। PostController-এর actionIndex মেথডটি এই URL রিকোয়েস্টটি প্রসেস করবে এবং index.php ভিউটি রেন্ডার করবে।

এখানে মডিউলের URL স্ট্রাকচার হবে:
<application-url>/blog/<controller>/<action>

যেমন:

  • /blog/post/index
  • /blog/post/view

৩. মডিউলের নির্দিষ্ট কনফিগারেশন

কিছু সময়, মডিউলের জন্য নির্দিষ্ট কনফিগারেশন সেট করতে হতে পারে। Yii 2-এ মডিউল কনফিগারেশনে কাস্টম প্যারামিটার এবং অন্যান্য সেটিংস অন্তর্ভুক্ত করা যেতে পারে।

৩.১ মডিউলে কাস্টম কনফিগারেশন প্যারামিটার

namespace app\modules\blog;

use yii\base\Module;

class BlogModule extends Module
{
    public $customParam = 'some_value';

    public function init()
    {
        parent::init();
        // মডিউলের কাস্টম ইনিশিয়ালাইজেশন কোড
    }
}

এখানে customParam প্যারামিটারটি মডিউলের মধ্যে যেকোনো জায়গায় ব্যবহার করা যেতে পারে।

৩.২ মডিউল কনফিগারেশনে প্যারামিটার সেট করা

কনফিগারেশন ফাইলে মডিউলটির প্যারামিটার সেট করতে পারেন।

return [
    'modules' => [
        'blog' => [
            'class' => 'app\modules\blog\BlogModule',
            'customParam' => 'new_value',
        ],
    ],
];

এভাবে মডিউলের কাস্টম প্যারামিটার কনফিগার করা যায় এবং এর মান পরিবর্তন করা যায়।


৪. মডিউল সম্পর্কিত অন্যান্য বিষয়

৪.১ মডিউল অ্যাকশন মডিফিকেশন

আপনি যদি মডিউলের অ্যাকশনের রুট কাস্টমাইজ করতে চান, তাহলে তা UrlManager কনফিগারেশনের মাধ্যমে করতে পারেন।

'urlManager' => [
    'rules' => [
        'blog/post/<id:\d+>' => 'blog/post/view',
    ],
],

৪.২ মডিউলে মাইগ্রেশন ব্যবহার

মডিউলগুলোতে মাইগ্রেশনও খুব সহজে ব্যবহৃত হতে পারে। মডিউলটির মধ্যে migrations ডিরেক্টরি তৈরি করে মাইগ্রেশন স্ক্রিপ্ট লিখতে পারেন।

yii migrate/create create_blog_post_table --module=blog

এই কমান্ডটি blog মডিউলের জন্য একটি মাইগ্রেশন স্ক্রিপ্ট তৈরি করবে।


সারাংশ

Yii ফ্রেমওয়ার্কে মডিউল তৈরি এবং কনফিগার করা অত্যন্ত সহজ। মডিউল ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনকে বিভিন্ন অংশে বিভক্ত করা যায়, যা কোডের পুনঃব্যবহারযোগ্যতা এবং পরিচালনা সহজ করে তোলে। মডিউল তৈরি করতে Module.php ক্লাসের মাধ্যমে মূল কনফিগারেশন এবং কন্ট্রোলার, ভিউ তৈরি করা হয়। কনফিগারেশন ফাইলে মডিউল রেজিস্টার করা হলে, এটি অ্যাপ্লিকেশনের অংশ হয়ে ওঠে। মডিউলের কাস্টম প্যারামিটার, URL কাস্টমাইজেশন এবং মাইগ্রেশন ব্যবস্থাপনা নিশ্চিত করে যে মডিউলটি আরও কার্যকরভাবে ব্যবহৃত হবে।

Content added By
Promotion

Are you sure to start over?

Loading...