مدل ویو کنترلر
نویسنده : مینا علی زاده | زمان انتشار : 21 خرداد 1400 ساعت 11:13
جهت انجام پروژه های دانشجویی و یا تمرینهای برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید
@AlirezaSepand
فرض کنیم که قصد داریم یک فروشگاه آنلاین کتاب طراحی کنیم. کاربران در این فروشگاه آنلاین خواهند توانست کارهایی همچون مشاهده ی کتاب ها، ثبت نام در سایت، افزودن کتاب به سبد خرید، حذف محصول از سبد خرید و پرداخت وجه انجام دهند. در ادامه، قصد داریم بینیم وقتی کاربری روی یک دسته بندی -مثلا دسته بندی کتابهای شعر و ادبیات- کلیک می کند، چه اتفاقی رخ می دهد.
پیش از هر چیز، ما نیاز به کنترلری داریم تا کلیه ی Action (اکشن یا کار) های مرتبط با کتابها را انجام دهد که از آن جمله میتوان به نمایش، افزودن به سبد خرید و … اشاره کرد. این کنترلر فرضی را BooksController.php می نامیم. علاوه بر این، نیاز به یک مدل هم خواهیم داشت مثلاً تحت عنوان BookModel.php تا کلیه ی کارهای مرتبط با این فروشگاه آنلاین مثل حذف و اضافه نمودن کتاب توسط ادمین سایت، ویرایش کتاب، افزودن نظر برای کتابها و … را هندل کند. در نهایت هم نیازی به ویو -البته بهتر است بگوییم یکسری ویوهای مختلف- داریم تا صفحات مختلف سایت مثل صفحه ی اصلی، صفحه ی دسته بندی محصولات، صفحه اختصاصی هر محصول، صفحه ی سبد خرید، صفحه ی ادمین پنل و … را نمایش دهد. تصویر زیر نشان میدهد که ریکوئست کاربر برای نمایش یک کتاب چگونه مدیریت می شود:
اکشن یا بهتر است بگوییم تابعی مثلا تحت عنوان ()categoryAction در BooksController.php در گام 1 ریکوئست کاربر را در قالب HTTP GET یا HTTP POST دریافت می کند. این اکشن کنترلر ریکوئست را بررسی کرده و می سنجد ببیند که چه پارامتری داخل آن وجود دارد (این پارامتر تعیین کننده شناسه ی یک دسته بندی خاص هستند که کاربر روی آن کلیک کرده تا مشاهده کند که در اینجا دسته بندی شعر و ادبیات است) سپس مدل BookModel.php را فراخوانی کرده و از آن میخواهد تا لیست کتابهای مثلاً شعر و ادبیات را اصطلاحاً return کند یا «باز گرداند» که این اتفاق در مرحله ی 2 صورت می پذیرد.
مدل هم که مسئول گرفتن دیتای مورد نیاز از دیتابیس است، در صورت نیاز فیلترهای ضروری را روی پارامتر دریافتی از اکشن داخل کنترلر اعمال کرده (مرحله ی 3) و در مرحله ی 4 دیتای دربرگیرنده ی لیست کتابهای شعر و ادبیات را به اکشن ()categoryAction در کنترلر باز می گرداند.
در گام 5 هم کنترلر ویوی مناسب برای نمایش دسته بندی کتابها را مورد استفاده قرار داده، دادهها را در اختیارش میگذارد در گام 6 صفحه ی اچ تی ام ال درست شده در نهایت در گام 7 در معرض دید کاربر قرار خواهد گرفت. جالب است بدانیم که اگر ریکوئست از جانب یک موبایل برای کنترلر ارسال شده بود (به عبارتی کاربری با موبایل وارد فروشگاه آنلاین ما شده بود)، کنترلر این وظیفه را دارا است تا -در صورت موجود بودن- ویوی مخصوص دستگاههای موبایل را مورد استفاده قرار دهد.
در صورتی که قبلاً ثبتنام نمودهاید، با کلیک روی دکمهٔ ورود وارد ناحیهٔ کاربری خود شوید و در غیر این صورت ثبتنام نمایید.
آیا مطمئن هستید که قصد حذف این کامنت را دارید؟
امکان بازگردانی پس از حذف وجود ندارد!
لیست نظرات
دیدگاه شما چیست؟
کاربر میهمان
dadiمن یک کاربر مهمان هستم
۱۳۹۵/۱۰/۲۴
slm o dorood . mofid hast amuzshtun va kamal tashakor ra daram . ayam be kam :)
امینمن یک کاربر مهمان هستم
۱۳۹۵/۰۷/۳۰
لطفا بیشتر از تصاویر استفاده کنید
aminمن یک کاربر مهمان هستم
۱۳۹۵/۰۷/۳۰
درود بر شما ..
سپاس از لطفتون, اموزش های شما بی نظیره
هیچ وقت سایتی به بی نظیری سایت شما ندیده بودم
همینطور به کاره خودتون ادامه بدید
کاملا موافقم
۱۳۹۴/۱۲/۲۷
تازه ام وي سي برام جا افتاد بيشتر از تصاوير استفاده كنيد
۱۳۹۴/۰۹/۲۹
درود بر شما ..
سپاس از لطفتون, اموزش های شما بی نظیره
هیچ وقت سایتی به بی نظیری سایت شما ندیده بودم
همینطور به کاره خودتون ادامه بدید.
{{/commentor_id}}
{{^commentor_id}}
{{fullname}}
{{/commentor_id}}
{{timestamp}}
{{#is_owner}} {{/is_owner}}
{{{text}}} {{#has_child}} {{/has_child}}
{{#user_data}} {{#is_owner}} ویرایش پاسخ خودحذف پاسخ {{/is_owner}}
{{^is_owner}} {{/is_owner}} {{#is_admin}} {{#verified_comment}} {{/verified_comment}} {{^verified_comment}} {{/verified_comment}} {{/is_admin}} {{^is_admin}} {{#verified_comment}} {{/verified_comment}} {{/is_admin}}
{{#is_admin}} {{/is_admin}}
 
{{/user_data}} {{^user_data}}
{{#verified_comment}} {{/verified_comment}}
 
{{/user_data}}
{{/is_child}}
{{^is_child}}
{{#commentor_id}}
{{#img}}
{{/commentor_id}}
{{^commentor_id}}
{{fullname}} من یک کاربر مهمان هستم
{{/commentor_id}}
{{timestamp}}
{{#is_owner}} {{/is_owner}}
{{{text}}} {{#has_child}} {{/has_child}}
{{#user_data}} {{#is_owner}} ویرایش پاسخ خودحذف پاسخ {{/is_owner}}
{{^is_owner}} {{/is_owner}} {{#is_admin}} {{#verified_comment}} {{/verified_comment}} {{^verified_comment}} {{/verified_comment}} {{/is_admin}} {{^is_admin}} {{#verified_comment}} {{/verified_comment}} {{/is_admin}}
{{#is_admin}} {{/is_admin}}
 
{{/user_data}} {{^user_data}}
{{#verified_comment}} {{/verified_comment}}
 
{{/user_data}} {{/is_child}}
منبع: sokanacademy.com