0
هیچ محصولی در سبد خرید نیست.

مجموع: تومان

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

1398-06-31
مدیر سایت

در مقاله های قبل ، در معرفی ساختار پروژه دیدیم که در مسیر 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 استفاده خواهیم کرد.

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

 

نظرشما

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


چه عواملی باعث می شود تا تبدیل به یک برنامه نویس خوب شویم؟ پرسیدن این سوال از خود و . . .

4 دقیقه
ادامه مطلب

فروم ها یکی از گزینه های مهم برای تهیه بک لینک ها می باشند. وب مسترها می توانند محتو . . .

3 دقیقه
ادامه مطلب

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

5 دقیقه
ادامه مطلب

لیست فرم های خارجی برای بک لینک رایگان بروز رسانی: استفاده از فرم‌های خارجی برای ب . . .

8 دقیقه
ادامه مطلب