۳ هادی قاسمی
فرق صدا زدن یک view در کنترلر و روت
محسن موحد حل شده توسط محسن موحد

سلام خسته نباشید

 

ببخشید فرق اینکه ما یک view رو در route صدا بزنیم یا در کنترلر چی هست ؟ جایی که نیازی به فانشکنی نداریم و فقط view رو میخوایم .

  فرق خاصی هست براش یا قانونی که مثلا بهتره در کنترلر صدا بزنیم ؟

سلام

 

معمولا اگر تنها هدف کنترلر نمایش یک ویوو خاص باشه و نه بیشتر، بهتره که شما در فایل route مستقیم view رو برگردونید 

اما اگر تابع یا عملیات خاصی باید روی داده‌ها صورت بگیره خب دیگه این روش اصلا درست نیست.

 

* هرچند در نظر داشته باشید که این موارد بیشتر شبیه قانون‌های نانوشته است و ممکن فردی دوست داشته برای تمیز و یک دست شدن فایل route همه کدها و حتی برگردوندن یک ویوو ساده رو هم توی کنترلر بنویسه. پس متناسب با شرایطی که مناسب میدونید، تصمیم بگیرید

mreza ۰۵ مهر ۱۴۰۰، ۰۹:۰۲

سلام و احترام

یکی از دلایلی بهتون پیشنهاد میدم تا از طریق کنترلر return کنید اینکه viewتون  کش میشه ولی اگه مستقیم از همون روت return کنید کش نمیشه و باعث کندی میشه (البته که میشه روت‌ها رو هم کش کرد)

امیر صالحی ۰۶ مهر ۱۴۰۰، ۱۷:۵۶

سلام.

بصورت کلی هیچ تفاوتی وجود ندارد جز لاجیک و منطق برنامه!

بنابراین اگر میخواهید ساختار و منطق MVC رو حفظ کنید بهتره از کنترلر استفاده کنید وگرنه اگر تستی میخواهید انجام دهید میتونید بصورت callback در خود Routes بیاریدش.

مورد دیگه، به این توجه داشته باشید که اگر بجای کنترلر از callback‌ها استفاده کنید، وقتی روت‌ها زیاد شن و مخصوصن پروژه بزرگ شه دیگه بی نظمی و شلوغ شدن کدها اتفاق میوفته پس حتی الامکان از کنترلرها استفاده کنید.

 

در مورد کش هم، بخودیه خود نه کنترلر کش میکنه و نه Routes. بنابراین تفاوتی نمیکند که view رو کجا call کنید.(منظورم بین controller و routes)

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