🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ پویا پارسایی
نحوه ایجاد پوشه بندی view زمانی که میخواهیم هم نمایش همه ویدئو‌ها رو داشته باشیم، هم نمایش ویدئوها بر اساس دسته بندی
جامعه لاراول ایجاد شده در ۲۲ اردیبهشت ۱۴۰۱

سلام و عرض ادب

تو این مورد اومدیم توی دایرکتوری videos یه فایل index ایجاد کردیم که ویدئوها رو بر اساس دسته بندی مربوطه نمایش میدیم.

حالا اگر تو یه پروژه خواستیم هم یه صفحه داشته باشیم برای نمایش همه ویدئوها (بدون در نظر گرفتن دسته بندی) و هم یه صفحه دیگه برای نمایش ویدئوها بر اساس دسته بندی، اونوقت بهترین روش قرار گیری این دوتا فایل به چه صورته؟

سلام پویا عزیز، وقت به خیر. در ابتدا بابت تاخیر در پاسخگویی ازتون عذرخواهی میکنم ????ببین برای این کار میتونی از همین View برای ۲منظور استفاده کنی یکی برای Category و یکی برای نمایش همه‌ی ویدئو (البته اگر یک Template مدنظرت هست داشته باشی برای هردوشون ولی Routeشون و کنترلشون باید جدا باشن) ، چون از اونجایی که ماهیت این ۲ عمل یکی هست و وظیفه View ایندکس نمایش ویدئو هست به راحتی میتونید از این View برای نمایش همه‌ی ویدئو‌ها هم استفاده کنی. فقط باید حواست به متغیرهایی که به سمت View ارسال میکنی باشه تا به خطا نخوری ? ممکن هست کنترلی که وظیفش نمایش ویدئو بر اساس Category هست اطلاعات دیگری هم بخواد به view ارسال کنه و شما بخواین در اون نمایش بدید و کنترلی که وظیفش نمایش همه‌ی ویدئو‌ها هست هم دیتای دیگه‌ای رو ارسال کنی. اینجا حتما باید در View Index چک کنی (isset) که اون متغیرها ست شده یا نه و اگر ست شده بود بخش مربوطه رو نمایش بدی.

امیدوارم که تونسته باشم کمکت کنم ??

بازم اگر احساس میکنی این جواب سوالت نیست، مجدد سوالت رو طور دیگه همینجا مطرح کن تا کمکت کنیم که به حواب برسی ?

محمد حسن عاطفت ۲۲ اردیبهشت ۱۴۰۱، ۱۷:۰۷

خیلی ممنون جناب عاطفت بابت پاسختون

ولی فکر کنم این کار زیاد تمیز نباشه

از طرفی هم اگر بخوایم توی view تغییراتی رو اعمال کنیم که مثلا مربوط به ویدئوهای مخصوص یک دسته بندی هست، امکان داره تو اون قسمتی که مربوط به همه ویدئوها هست، خطایی ایجاد شه.

بیشتر نظرم رو اینه که این دوتا فایل جدا باشن، حالا اگه بخوایم جدا باشن:

۱- بهترین جای قرار گرفتن این دوتا فایل کجاها هست؟

۲- اسم فایلا به چه صورت باید باشه؟

پویا پارسایی ۲۲ اردیبهشت ۱۴۰۱، ۱۷:۴۷

خواهش میکنم پویا عزیز

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

ولی در مجموع این موضوع (نام فایل و بهترین مکان فایل) به عوامل مختلفی برمیگرده مثل موضوع پروژه و سطح پروژه و اینکه پروژه Modular هست یا خیر و ... .

ولی معمولا وقتی میخواهیم همه ی موجودیت (ویدئو)‌های سایت را نمایش بدیم از Index استفاده می‌کنیم.

و وقتی قرار هست همه ی موجودیت‌های درون یک دسته بندی مشخص را نمایش بدیم از Category و یا Show استفاه میکنیم.

حالا فکر کنید که که پروژه شما Modular هست و برای مدیریت و نمایش دسته بندی هاتون یک ماژول به نام Category دارید:

در اینصورت برای نمایش تمام ویدئو‌ها در مسیر:

Route::get('site.com/category',['CategoryVideoController','index']);

از فایل Index استفاده میکنیم

و برای مسیر:

Route::get('site.com/category/{category}',['CategoryVideoController','show']);

از فایل category و یا show استفاده میکنیم.

و چون پروژه ماژولار هست در همان ماژول Category در پوشه resource/views/front این 2 را در کنار هم قرار میدیم.


ولی اگه پروژه از همین ساختار عادی لاراول استفاده کنه میتونیم باز هم از روش‌های مختلفی استفاده کنیم. مثلا برای Viewهایی که در سمت Front نمایش داده میشن میتونیم از این روش استفاده کنیم:

resource/views/front/category

و مجدد هر دو فایل بالا را در این پوشه قرار داد و در Controller مقداردهی کرد و یا میتونیم از این روش استفاده کنیم:

resource/views/category/front

ولی در مجموع این موضوع به سلیقه خودتون و ساختار پروژتون برمیگرده (ماژولار بودن و ...) و در هرصورت باید ساختارتون خوانایی داشته باشه تا توسعه دهنده‌های دیگر تیم هم به راحتی متوجه ساختار استفاده از Viewها بشن.

امیدوارم تونسته باشم کمکتون کرده باشم ??


بهترین پاسخ
محمد حسن عاطفت ۲۳ اردیبهشت ۱۴۰۱، ۰۴:۳۴