۲ Yousef Rishehri
بررسی تمرین میدلور گلوبال
جامعه پی اچ پی ایجاد شده در ۰۲ تیر ۱۴۰۱

سلام من میخواستم این تمرین رو چک کنید یا اگر امکانش هست توضیح بدین که روش بهترش برای پیاده سازی چی هست ممنون

من توی App یه کلاس درست کردم اسمش kernel.php هستش و توش نوشتم


namespace App;
use App\\Core\\coreKernel;
class Kernel extends coreKernel
{
    protected array $middlewareGroup = [
        \\App\\Middlewares\\BlockFireFoxMiddleware::class,
    ];
}

که بچه کلاس coreKernel.php هستش


namespace App\\Core;
class coreKernel
{
    protected array $middlewareGroup = [];
    public function handle()
    {
        foreach ($this->middlewareGroup as $middleware) {
            $middlewareObj = new $middleware();
            $middlewareObj->handle();
        }
    }
}

و توی bootstrap/init.php نوشتم

$kernel = new Kernel();
$kernel->handle();

حالا هر میدلوری که بخوام رو کل برنامه اجرا بشه توی kernel.php تعریف میکنم و توی init فراخونی میشه

اینجور حل کردنش صحیح هستش ؟

سلام دوست عزیز

اینجا coreKernel وظیفه خاصی رو بر عهده نداره (نسبت به تنها وظیفه ای که داره!)

پیشنهاد میکنم وارد سورس لاراول بشید و ببینید لاراول چطوری این مورد رو کار کرده

هم تمرین کد خوانی هست براتون و هم میتونید ببینید که best practice‌ها چی هستن

موفق باشید ?

بهترین پاسخ
محمد گازری ۰۲ تیر ۱۴۰۱، ۰۴:۰۱

ممنون

Yousef Rishehri ۰۲ تیر ۱۴۰۱، ۰۴:۰۷