ساخت اینترفیس‌های مورد نیاز در کِرنِل فریمورک

در مقاله های قبل ، در معرفی ساختار پروژه دیدیم که در مسیر Core فولدری داریم تحت عنوان Interfaces که حاوی اینترفیس‌های مورد نیاز در توسعهٔ کِرنِل این فریمورک است. در همین راستا، با استفاده از کامند زیر چنین پوشه‌ای را می‌سازیم:

/var/www/mvc/app/Core$ mkdir Interfaces

در ادامه، اقدام به ساخت یک اینترفیس به نام ControllerInterface.php داخل این پوشه می‌کنیم که قرار است کلیهٔ کنترلرهای پروژه از آن ایمپلیمنت شوند:

<?php
namespace Core\Interfaces;

interface ControllerInterface
{
    public function renderView($moduleType, $controllerName, $view, $data = []);
}

بر اساس قانونی که در مورد نحوهٔ تعریف نِیم‌اِسپیس یاد گرفتیم، با توجه به اینکه داخل پوشهٔ Core قرار داریم، نِیم‌اِسپیس این فایل را به صورت Core\Interfaces تعریف می‌کنیم و از آنجا که پیش از این در فایل composer.json نِیم‌اِسپیس Core را تعریف کرده‌ایم، از این پس هر کجا که از این اینترفیس استفاده نماییم، فایل ControllerInterface.php به خودکار ایمپورت خواهد شد.

نیاز به توضیح نیست که شیوهٔ ساخت یک اینترفیس همچون روش ساخت کلاس‌ها است. تفاوتی که وجود دارد ، به جای کیورد class از interface استفاده کرده سپس نام مد نظر خود را می‌آوریم. در اینترفیسی که تحت عنوان ControllerInterface ساخته‌ایم، متدی به نام ()renderViewداریم که این وظیفه را دارا است تا در معماری MVC که در ساخت این فریمورک مورد استفاده قرار داده‌ایم، ویوها را بر اساس یکسری پارامتر ورودی لود کند.

همان‌طورکه می بینید، این متد چهار پارامتر ورودی گرفته که به ترتیب با «نوع ماژول»، «نام کنترلر»، «نام ویو» و در نهایت «دیتای ارسالی» به ویو مرتبط هستند و با توجه به اینکه پارامتر آخر اختیاری است، یک مقدار پیش‌فرض برای آن در نظر گرفته شده است تا در صورتی که این پارامتر را پاس ندادیم، مفسر ایرادی نگیرد.

فایل دیگری که می‌باید داخل این پوشه بسازیم UserInterface.php نام دارد. در واقع، از این اینترفیس برای ساخت مد‌ل‌ها استفاده خواهیم کرد:

<?php
namespace Core\Interfaces;

interface UserInterface
{
    public function fetch();
    public function fetchById(int $id);
    public function update(array $data);
    public function delete(int $id);
}

همچون روال گذشته نِیم‌اِسپیس را تعریف کرده سپس با استفاده از کیورد interface اقدام به ساخت اینترفیسی تحت عنوان UserInterface کرده‌ایم که حاوی چهار متد مختلف است که عبارتند از:

– متد ()fetch به منظور فراخوانی کلیهٔ کاربران
– متد ()fetchById به منظور فراخوانی یک کاربر خاص بر اساس شناسهٔ کاربری
– متد ()update به منظور آپدیت کردن اطلاعات کاربر
– متد ()delete به منظور حذف یک کاربر بر اساس شناسهٔ کاربری

در مقاله ی بعدی ، می بینیم که به چه شکل از این اینترفیس در توسعهٔ مدل User استفاده خواهیم کرد.

با پلاتین همراه باشید.

 

دیدگاه شما:

نوشته های مرتبط

تکنولوژی های استفاده شده در netflix | Netflix TechStack

۱۴

آذر
react, SWIFT, The best startup, اخبار, استارت اپ, بازاریابی, بازاریابی محتوا, تجارت, تحقیقات بازار, جاوا اسکریپت, طراحی اپلیکیشن

تکنولوژی های استفاده شده در netflix | Netflix TechStack

در این مقاله قصد داریم تکنولوژی های مورد استفاده در Netflix رو براتون شهر بدیم . پس ادامه مطلب رو دنبال کنید 🙂 Tech stack یا پشته فناوری به مجموعه‌ای از فناوری‌ها، زبان‌ها، ابزارها و سرویس‌هایی اشاره دارد که در […]

۲۴

اردیبهشت
هوش مصنوعی

معرفی بهترین ابزار هوش مصنوعی

ابزار هوش مصنوعی (Artificial Intelligence) به دسته‌ای از تکنولوژی‌ها گفته می‌شود که به کامپیوترها اجازه می‌دهد تا به صورت خودکار، هوشمندانه و بدون نیاز به دخالت انسان، مسائل را حل کنند و تصمیم‌هایی بگیرند. در این روش، کامپیوتر با استفاده[…]

http://platinco.ir/tag/python/

۱۴

اردیبهشت
پایتون

آموزش کتابخانه pygame

انواع روش های ساخت بازی با پایتون Python یکی از زبان‌های محبوب برای توسعه بازی است و به دلیل سادگی و قابلیت استفاده آن، توسعه دهندگان بازی‌های زیادی از آن استفاده می‌کنند. در ادامه، انواع روش‌های ساخت بازی با پایتون[…]