از مبتدی تا پیشرفته در اوپن کارت : آشنایی با MVC

تاریخ : ۱۱ بهمن ۱۳۹۴ | دسته بندی : اپن کارت | برچسب ها : ,,,,,

ام وی سی در اپن کارت :

در مجموعه آموزشی گذشته ، برخی مطالب مقدماتی برای آشنایی با کاربرد اپن کارت را بیان کردیم . در این مقاله ، می خواهیم بحث الگوی طراحی به کاررفته در اپن کارت را ادامه دهیم و حتی کنترلر خودمان را هم بنویسیم .

قبل از آشنایی با معماری اپن کارت، ابتدا معماری کنترلر- نما- مدل(MVC) را بررسی می کنیم .

MVC چیست؟

معماری MVC در برنامه نویسی پیشرفته وب کاربرد گسترده ای دارد . دربسیاری از رایج ترین چارچوب ها از MVC استفاده می شود ؛ به هرحال ، این یک نرم افزار نیست بلکه یک الگوی طراحی است ، یک راه حل تعیین شده برای حل مشکلات رایج سازماندهی شده در کد است .

به طور مشابه ، MVC به عنوان یک الگوی معماری مشهور است . آن را می توان به عنوان معماری مبتنی بر لایه نگریست . یعنی ، کنترلر ، مدل و نما سه لایه هستند که همگی به یکدیگر ربط دارند .

  1. کنترلرها

این ها کنترل اصلی برنامه را در دست دارند . کنترلر مسئول جریان برنامه است . در برنامه های کاربردی MVC مبتنی بر وب ، این اولین لایه ای است که در زمان برخورد مرورگر با URL فراخوانی می شود .

  1. مدل ها

مدل ها داده های اصلی برنامه از قبیل اطلاعات مربوط به شیءهای پایگاه داده ها و کوئری های SQL را در بر می گیرند . تمام داده ها از مدل ها به دست می آیند ؛ به هر حال ، مدل ها را نمی توان به طور مستقیم فراخوانی کرد – کنترلر داده های خاصی را از مدل درخواست می کند و مدل درخواست را اجرا می کند و داده ها را به آن کنترلر بازگردانی می کند .

  1. نماها

نما آخرین لایه معماری MVC است که رابط کاربری برنامه را در بر می گیرد . در برنامه های کاربردی وب ، یک نما محتوی HTML, CSS, JavaScript, XML یا JSON و غیره است . نما لایه ای است که کاربر می تواند آن را ببیند اما مدل ها و کنترلرها را کاربر نمی تواند ببیند .

حال با کمک این نوع گفتگو که بر این اساس ایجاد کرده ایم ، شما را با این روند آشنا می کنیم :

  • کنترلر :سلام مدل ABC . کاربر داده های XYZ را می خواهد . لطفا آن را به من بدهید .
  • مدل : داده های XYZ را گرفتم . اینجاست !
  • کنترلر : سلام نمای ABC . دارم داده های XYZ را برایت می آورم .
  • نما : اطلاعات را در صفحه نمایش می دهد تا کاربر آن را ببیند .

آشنایی با MVC در اپن کارت

  • ۱- کنترلرها در اپن کارت

همان طور که در بالا بحث کردیم ، کنترلر اولین لایه معماری MVC است . بنابراین بیایید نگاهی بر آن در میان متن سایت مان بیندازیم . می خواهیم یک کنترلر تازه ایجاد کنیم تا به ما کمک کند آشنایی بهتری به دست آوریم .

الف ) یک دایرکتوری test خالی در دایرکتوری کنترلرها ایجاد کنید ،یعنی catalog/controller/test ایجاد کنید .

ب ) یک فایل PHP به نام abc.php در دایرکتوری test ایجاد کنید ،یعنی

catalog/controller/test/abc.php

ج ) abc.php را در IDE خود ویرایش کرده و کد زیر را به آن اضافه کنید :

در مثال بالا ، چند محدودیت چارچوب اپن کارت وجود دارند که برنامه نویس باید آن را به دقت دنبال کند .

  • برای یک کلاس نام کنترلر ، باید مانند Controller(FolderName)(Filename) باشد . نکاتی که باید به یاد داشته باشید : اولین مورد folder name و filename باید با حروف بزرگ شروع شود ، و به عنوان یک نام کلاس نباید پسوند فایل داشته باشد .
  • index() تابع اصلی است که در فراخوانی کنترلر به طور خودکار اجرا می شود .
  • تابع index() باید عمومی باشد .
  • در کنترلر از HTML ، Javascript یا CSS استفاده نکنید .

خلاصه

بسیار عالی ! تا اینجا اولین کنترلر خود را ساخته اید . ساده نبود ؟ تا اینجا برای این قسمت کافی است ، زیرا اولین کنترلرمان را ساخته ایم ! کنترلر اولین و مهم ترین لایه MVC است ، زیرا MVC می تواند بدون مدل و نما وجود داشته باشد ، اما بدون کنترلر نمی تواند .

در مقاله بعدی ، مدل ها و نماها را ایجاد خواهیم کرد و با توجه به کنترلر به پارامتر route هم نگاهی خواهیم انداخت . امیدوارم از این مقاله لذت برده باشید . از کدنویسی لذت ببرید .

حسن موحد

عاشق طراحی وب سایت هستم و 8 سال هست در این زمینه فعالیت می کنم و تمرکزم بر روی خرسند نگه داشتن مشتری است .

ارسال نظر