Controller ফাইল তৈরি এবং কনফিগারেশন

Controllers এবং Actions - ওয়েব২পাই (Web2Py) - Web Development

265

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


Web2Py-তে Controller ফাইল তৈরি এবং কনফিগারেশন

Controller ফাইলের অবস্থান

Web2Py-তে Controller ফাইলগুলি সাধারণত /controllers ফোল্ডারে রাখা হয়। প্রতিটি অ্যাপ্লিকেশনের জন্য একটি Controller ফোল্ডার থাকে যেখানে অ্যাপ্লিকেশনটির সমস্ত লজিকাল ফাইল থাকে।

উদাহরণস্বরূপ:

/your_app_name
  /controllers
    default.py

এখানে default.py একটি Controller ফাইল, যা অ্যাপ্লিকেশনের লজিকের জন্য ব্যবহৃত হয়। একটি অ্যাপ্লিকেশনে আপনি একাধিক Controller ফাইল তৈরি করতে পারেন, যেমন admin.py, user.py ইত্যাদি।


Controller ফাইল তৈরি করার পদ্ধতি

  1. ফোল্ডার স্ট্রাকচার তৈরি করা: প্রথমে আপনার অ্যাপ্লিকেশন ফোল্ডারে একটি controllers ফোল্ডার তৈরি করুন যদি এটি ইতিমধ্যে না থাকে। উদাহরণ:

    /your_app_name
      /controllers
        default.py
    
  2. Controller ফাইল তৈরি করা: default.py নামক ফাইলটি তৈরি করুন এবং এর মধ্যে কন্ট্রোলার লজিক যুক্ত করুন।

    উদাহরণস্বরূপ:

    # controllers/default.py
    def index():
        return dict(message="Hello, World!")
    

    এখানে index() ফাংশন একটি dictionary অবজেক্ট ফেরত দেয়, যেখানে message কী এর মান "Hello, World!"।

  3. Controller ফাইল কনফিগারেশন: Web2Py স্বয়ংক্রিয়ভাবে Controller ফাইলগুলো শনাক্ত করে এবং তাদের কার্যকর করে। কন্ট্রোলারের মধ্যে লেখা ফাংশনগুলো URL রিকোয়েস্টের সাথে সম্পর্কিত হয়। উদাহরণস্বরূপ, যখন আপনি http://127.0.0.1:8000/your_app_name/default/index URL তে যান, তখন Web2Py index() ফাংশনটি চালায়।

Controller ফাইলে কোড লেখা

  1. প্রাথমিক ফাংশন (Basic Functions): একটি Controller ফাইলে বিভিন্ন ধরনের ফাংশন থাকতে পারে। Web2Py একাধিক রাউটিং ব্যবস্থা এবং অ্যাকশন পরিচালনা করতে পারে। উদাহরণস্বরূপ:

    # controllers/default.py
    def index():
        message = "Welcome to Web2Py!"
        return dict(message=message)
    
    def about():
        return dict(info="This is a simple app")
    

    এখানে, index() ফাংশন একটি সাদামাটা বার্তা প্রদর্শন করে এবং about() ফাংশন আরো কিছু তথ্য দেখায়।

  2. ডেটা প্রক্রিয়া (Processing Data): Controller ফাইলের মাধ্যমে আপনি ডেটা প্রক্রিয়া করতে পারেন। উদাহরণস্বরূপ, ব্যবহারকারীর ইনপুট নেয়ার জন্য ফর্ম তৈরি করতে পারেন:

    # controllers/default.py
    def form():
        form = SQLFORM.factory(
            Field('name', 'string'),
            Field('age', 'integer')
        )
        if form.process().accepted:
            response.flash = 'Form submitted successfully!'
        elif form.errors:
            response.flash = 'Please correct the errors!'
        return dict(form=form)
    

    এখানে, SQLFORM.factory ব্যবহার করে একটি ফর্ম তৈরি করা হয়েছে এবং এটি ডেটা প্রক্রিয়া করে।

  3. ডেটাবেস কুয়েরি (Database Query): আপনি মডেল (Model) ফাইলের মাধ্যমে ডেটাবেস কুয়েরি করতে পারেন এবং তা Controller এর মাধ্যমে প্রক্রিয়া করতে পারেন:

    # controllers/default.py
    def show_data():
        rows = db(db.table_name).select()
        return dict(rows=rows)
    

    এখানে db মডেল অবজেক্ট ব্যবহার করে ডেটাবেসের তথ্য select() মেথডের মাধ্যমে নেয়া হয়েছে।


Controller ফাইলে ভ্যালিডেশন এবং রিডিরেকশন

  1. ভ্যালিডেশন: ব্যবহারকারী ইনপুটের ভ্যালিডেশন করার জন্য, আপনি Web2Py এর ইন-বিল্ট ফিচার ব্যবহার করতে পারেন:

    # controllers/default.py
    def register():
        form = SQLFORM(db.auth_user)
        if form.process().accepted:
            redirect(URL('success'))
        return dict(form=form)
    

    এখানে, form.process() ইনপুট ভ্যালিডেশন এবং প্রক্রিয়াকরণ করে, এবং সফল হলে redirect() মাধ্যমে নতুন পেজে রিডিরেক্ট করে।

  2. রিডিরেকশন (Redirecting): redirect() ফাংশন ব্যবহার করে অন্য কোনো URL তে রিডিরেক্ট করা যায়:

    # controllers/default.py
    def login():
        if not session.logged_in:
            redirect(URL('login_page'))
        return dict(message="Welcome back!")
    

    এখানে, session.logged_in চেক করে, যদি লগইন না থাকে তাহলে ব্যবহারকারীকে লগইন পেজে রিডিরেক্ট করা হয়।


Controller ফাইলের কাঠামো

Web2Py এর Controller ফাইলের সাধারণ কাঠামো এইভাবে হবে:

  1. Controller ফাইলের হেডার: প্রথমে আপনি ফাইলের শীর্ষে কিছু সাধারণ সেটআপ করতে পারেন, যেমন সেশন, রেসপন্স, কনফিগারেশন ইত্যাদি।

    # controllers/default.py
    response.title = "My Web2Py App"
    
  2. ফাংশন সংজ্ঞা: তারপর প্রয়োজনীয় ফাংশনগুলো সংজ্ঞা দিন, যা বিভিন্ন HTTP রিকোয়েস্ট (GET, POST) হ্যান্ডেল করবে।

সারাংশ

Web2Py তে Controller ফাইল তৈরি করা এবং কনফিগার করা অত্যন্ত সহজ। এটি অ্যাপ্লিকেশনের লজিক নিয়ন্ত্রণ করে এবং ইউজারের ইনপুট গ্রহণ করে মডেল ও ভিউ এর মাধ্যমে প্রক্রিয়া করে ফলাফল দেখায়। Web2Py তে Controller ফাইলের মাধ্যমে আপনি ডেটা প্রক্রিয়া, ফর্ম ভ্যালিডেশন, রিডিরেকশন, এবং ডেটাবেস কুয়েরি সহজেই পরিচালনা করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...