لاراول زیر کاپوت – نماها چیست؟

شما به تازگی یک برنامه جدید لاراول را نصب کرده اید، آن را بوت کرده اید و صفحه خوش آمد گویی را دریافت کرده اید. مثل بقیه، شما سعی می‌کنید ببینید چگونه رندر می‌شود، بنابراین وارد آن می‌شوید web.php فایل کنید و با این کد روبرو شوید:

واضح است که ما چگونه دید خوشامدگویی را به دست آوردیم، اما شما کنجکاو هستید که مسیریاب لاراول چگونه کار می کند، بنابراین تصمیم می گیرید به کد شیرجه بزنید. فرض اولیه این است: یک وجود دارد Route کلاسی که در آن یک متد استاتیک را فراخوانی می کنیم get(). با این حال، با کلیک بر روی آن، هیچ وجود ندارد get() روش وجود دارد. بنابراین، چه نوع جادوی تاریکی در حال وقوع است؟ بیایید ابهام زدایی کنیم!

نماهای منظم

لطفاً توجه داشته باشید که من اکثر PHPDoc ها را حذف کردم و انواع را فقط برای سادگی در داخل خط قرار دادم، “…” به کد بیشتری اشاره دارد.

من قویاً پیشنهاد می کنم IDE خود را باز کنید و کد را دنبال کنید تا از هرگونه سردرگمی جلوگیری کنید.

به دنبال مثال ما، بیایید به بررسی آن بپردازیم Route کلاس

اینجا چیز زیادی نیست، فقط getFacadeAccessor() متدی که رشته را برمی گرداند router. با در نظر گرفتن این موضوع، بیایید به کلاس والدین برویم.

$method(...$args);
    }
}

در کلاس والد، متدهای زیادی وجود دارد، a وجود ندارد get() هر چند روش اما یک مورد جالب وجود دارد، __callStatic() روش. این یک شعبده بازي روش، هر زمان که یک روش استاتیک تعریف نشده، مانند get() در مورد ما نامیده می شود. بنابراین تماس ما …

Source link