درود.بنده یک پروژه لاراول دارم که از نسخه قدیم استفاده شده و در blade نمیشه از کامپوننت استفاده کرد.
فرض بفرمائید بنده کدی دارم که نیاز هست در یک view بارها استفاده بشه.
حالا من کاری که میتونم بکنم اینه که در ویو هر زمان که لازم شد از @include استفاده کنم.
آیا این کار سرعت لود رو پایین میاره؟
راه کار بهینه تر برای تکرار کد ها در یک view چیه؟
درود...
توی پروژه آزمایشی ام از @include استفاده می کنم در برخی جاها و بقیه از extends استفاده کنید...و اما می توانید این پروژه قدیمی رو به لاراول ۹ ارتقا دهید...
شاید پاسخ شما همینجا باشد
@mohammadphp
بنده یه تیکه کدی هست که نیار دارم تو blade چندین بار تکرار بشه.برای همین تو blade چندین بار include کردم.منتها نمیدونم تو این حالت include_once میشه یا include?
حداقل کدی که میخواید تکرار بشه را بزارید ببینیم چیه تا بشه بهترین راهکار را ارائه کرد
@yk5742g
مثلا این تیکه کد
@if($user_all_field->required == 1)
<span class="star">*</span>
@endif
در نظر بگیرید این تیکه کد قراره 40 بار تو یه view استفاده بشه
@mahdi723524
میتونی از include لاراول استفاد کنی
میتونی از each هم استفاده کنی
ولی اگر کد شما جوری هست که بشه توی حلقه انداخت خب بهتر اینه که <span class="star">*</span> را توی حلقه foreach بندازی
در کل نوع کد ورودی شما به این ربط داره که توی blade اصلیتون از حلقه collection استفاده میکنی یا اینکه کد span شما بر اساس شروط خاصی لود میشه.
@yk5742g
از foreach نمیتونم استفاده کنم
در شرایط فعلی از include استفاده کردم.
لاراول اینطور مواقع از include_once استفاده میکنه یا include?
include_once فقط یکبار اون قطعه کد میتونه وارد فایل blade بشه و include میتونه به تعداد نامحدود در فایل blade کد را تکرار کنه
اگر فایل شما قراره فقط یکبار وارد بشه خب از include_once استفاده کنین بهتره
@mahdi723524
از include استفاده میشه ..
@endworld
اگر بخوام از include_once استفاده کنم توی blade از چه دایرکتیوی استفاده کنم؟با توجه به اینکه ورژن 5.4 هست و خیلی از امکانات ورژن های جدید رو نداره
@mahdi723524
می توانید از include_once استفاده کنید... مشکلی نداره...
@endworld
این مورد رو اول تست کردم ولی کار نکرد.یعنی اصلا دایرکتیو رو نمیشناسه.
از طرفی بنده تو مستندات هم جستجو کردم ولی موردی راجبه @include_onceدر blade پیدا نکردم
ممنون میشم لینکی که این مورد رو توضیح داده ارسال کنید