در این مقاله نحوه ایجاد فایل های view و نحوه render کردن آن توسط کنترلر و ارسال دیتا به آن رو کار خواهیم کرد. در لاراول برای ایجاد ویو ها میتونید از موتور قالب Blade هم استفاده کنید که کارتون رو در ایجاد layout ها و کدنویسی خیلی آسان خواهد کرد. شما می توانید بخش هایی از وبسایت از جمله هدر و فوتر و منو ها و … که در تمام صفحات وبسایت یکی هستن را داخل یک فایل layout ایجاد کرده و در فایل های دیگر قابل ارث بردن هست. این فایل ها با فرمت blade.php ایجاد می شوند.

تعریف یک Layout ساده

در مسیر resources/views یک پوشه به نام layouts ایجاد کرده و فایل master.blade.php را داخل آن ایجاد کرده و کدهای زیر را داخل آن می نویسیم:

اکثر دستورات blade با علامت @ شروع می شوند. با استفاده از دستور yield می توانیم یک بخش را ایجاد کنیم که بعدا در فایل هایی که از آن ارث برده می شوند بتوانید محتوایی که در هر فایل متفاوت است را در آن قرار دهیم. نحوه استفاده از layout بالا در فایلی دیگر را، در مثال زیر مشاهده کنید:

همانطور که مشاهده کردید با استفاده از دستور extends می توانید فایل layout را به صفحه اضافه کنید. نحوه آدرس دهی هم به این صورت است که بین دایرکتوری و نام فایل ویو نقطه قرار می دهیم.
با استفاده از دستور section که نام yield مورد نظر را به آن می دهیم می توانیم محتوای جدید را داخل آن قرار دهیم. در پایان هم باید stop را بنویسیم yield ها در فایل layout هیچ محتوایی ندارند اما اگر بخواهیم بخشی را تعریف کنیم که در فایل layout هم محتوا داشته باشند باید از section استفاده کنیم با این تفاوت که در layout باید در انتها، show قرار دهیم. بخش ها در فایل به ارث برده شده override می شوند برای اینکه بتوانیم محتوای فایل والد رو هم داشته باشیم کافیه در ابتدا یا انتهای محتوای جدید، دستور parent را اضافه کنیم. در مثال بالا بخش sidebar به این صورت است.

برای بخش yield می توانیم یک محتوای پیش فرض هم تعیین کنیم مثلا:

چاپ داده یا متغیر ها در blade

با استفاده از بلاک های دو آکولاد می توانیم یک متغیر یا عبارت قابل چاپ را در صفحه چاپ کنیم:

همچنین اگر متغیری با نام مورد نظر ست نشده بود یک مقدار پیش فرض برای چاپ در نظر بگیریم تا باعث بروز خطا در صفحه نشود:

دو آکولاد در blade تمامی دستورات html را escape میکند مانند دستور htmlentities در php عمل میکند. اگر نخواهیم داده ها escape شوند به این صورت انجام دهید:

دستورات شرطی و حلقه ها هم به صورت های زیر قابل نوشتن هستند:

برای دیدن مثال های بیشتر به اینجا مراجعه کنید.

اینکلود کردن (include) فایل view در view دیگر

مثلا در یک فایل ویو فرم لاگین را طراحی کرذه ایم و می خواهیم آن را در چند صفحه استفاده کنیم، کافیست آن را مانند مثال زیر در فایل های مورد نظر include کنیم:

در مثال باال view نام پوشه و name نام فایل ویو مورد نظر است. همچنین می توانیم دیتا هم به آن فایل ارسال کنیم.

توضیحات در Blade

برای نوشتن کامنت یا توضیحات (غیرفعال کردن بخشی از کدها) در Blade می توانید از دستور {{– – – –}} استفاده کرد به صورت زیر عمل کنید:

برای اطلاعات بیشتر به مستندات laravel مراجعه کنید.

image_pdfدانلود فایل pdf این مقاله
کلیدواژه ها :

این خبر را به اشتراک بگذارید :