মডেল ভিউ কন্ট্রোলার স্ট্রাকচার

মডেল ভিউ কন্ট্রোলার স্ট্রাকচার বা MVC Structure (এটা কোডের ডিজাইন প্যাটার্ন বা পদ্ধতি) আসার আগে পিএইচপিতে এপ্লিকেশন তৈরীর জন্য নিচের মত করে কোড লেখা হত
01.<?php
02.include "common-libs.php";
03.include "config.php";
04.mysql_connect($hostname, $username, $password);
05.mysql_select_db($database);
06.?>
07.<?php include "header.php"; ?>
08.<h1>Home Page</h1>
09.<?php
10.$sql = "SELECT * FROM news";
11.$result = mysql_query($sql);
12.?>
13.<table>
14.<?php
15.while ($row = mysql_fetch_assoc($result)) {
16.?>
17.<tr>
18.<td><?php echo $row['date_created']; ?></td>
19.<td><?php echo $row['title']; ?></td>
20.</tr>
21.<?php
22.}
23.?>
24.</table>
25.<?php include "footer.php"; ?>

এভাবে কোড লিখলে পরবর্তীতে এই কোড সম্পাদন করা বা আপডেট করা ইত্যাদি বেশ কঠিন হয়ে যায় অনেকটা অসম্ভব।মডেল ভিউ কন্ট্রোলার ডিজাইন প্যাটার্ন এই সমস্যার সমাধান নিয়ে এসেছে।এই MVC Structure কোডগুলিকে ৩ ভাগে ভাগ করে লেখার সুবিধা দেয় কিন্তু কাজ সব একসাথেই করবে যেমন একসাথে কোডগুলি লিখলে কাজ হবে।এই ভাগ ৩টি হল
মডেল (Model)
ভিউ (View)
কন্ট্রোলার (Controller)

মডেল (Model): 

ধরুন আপনি কোডইগনাইটারে কোড লিখে লিখে একটা এপ্লিকেশন তৈরী করতেছেন,এই এপ্লিকেশনের সব কোডগুলির মধ্যে মডেল অংশে শুধুমাত্র ঐ কোডগুলি (অথবা বলতে পারেন লজিকগুলি বা ফাংশনগুলি) থাকবে যেকোডগুলির দ্বারা আপনি ডেটাবেসে ডেটা ইনসার্ট,ডিলিট,আপডেট ইত্যাদি করবেন।অর্থ্যাৎ মডেল অংশ আপনার ডেটা স্ট্রাকচার রিপ্রেজেন্ট করবে।এই লজিকগুলিকে বলা হয় বিজনেস লজিক (business logic)

ভিউ (View):

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

কন্ট্রোলার (Controller):

কন্ট্রোলারে ঐ সমস্ত কোডগুলি থাকবে যার দ্বারা মডেল এবং ভিউ এর লজিকগুলি একে অপরের সাথে যোগাযোগ করবে।অর্থ্যাৎ মডেল এবং ভিউ কিভাবে কাজ করবে এই লজিকগুলি এখানে লেখা হয়ে থাকে।
কোডইগনাইটার ফ্রেমওয়ার্ক MVC অর্থ্যাৎ মডেল ভিউ কন্ট্রোলার স্ট্রাকচার এর ভিত্তি করে কাজ করে অর্থ্যাৎ এখানে এভাবে কোড লেখা হয়ে থাকে।

mvc structure

কোন মন্তব্য নেই

Blogger দ্বারা পরিচালিত.