رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جدا سازی کدهای html و php در مدل MVC
#1
در مدل MVC گفته میشه که میبایست بخش کار با پایگاه داده ، استخراج اطلاعات و ... از بخش نمایش اطلاعات جدا بشه .
بعنوان مثال ما میایم در کنترلر مربوطه اطلاعات مربوط به یک جدول رو از model اون استخراج کرده و به view مربوطه جهت نمایش داده ها ارسال میکنیم .
در view با یک حلقه ی foreach اطلاعات رو نمایش میدیم .

تا اینجا تا حدی کدهای html و php جدا شدن.

اما گاهی لازمه در همین حلقه ی foreah در view یک select دیگر هم انجام بشه .
خب مسلما اینجا باید یک شی از کلاس model مربوطه ایجاد کرده و متد select اونو صدا کنیم .
پس در این view نیاز به نوشتن کد php هم هست .

آیا این کار برخلاف مدل MVC هست ؟
اگر بله ، در این مواقع باید چکار کرد ؟
چطور باید همه ی این کارها رو در کنترلر انجام داد و سپس به VIEW ارسال کرد ؟
پاسخ
تشکر شده توسط:
#2
خب خودتون گفتید دیگه داده هاتون رو به صورت متغیر به ویو ارسال کنید و اونجا استفاده کنید حالا میخاد یه سلکت باشه یا ده تا
موفقیت، نتیجه تشخیص درست است؛ تشخیص درست، نتیجه تجربه است؛ تجربه نیز اغلب نتیجه تشخیص نادرست است.



پاسخ
تشکر شده توسط: mary
#3
(18-03-1394، 03:33 ب.ظ)mary نوشته: در مدل MVC گفته میشه که میبایست بخش کار با پایگاه داده ، استخراج اطلاعات و ... از بخش نمایش اطلاعات جدا بشه .
بعنوان مثال ما میایم در کنترلر مربوطه اطلاعات مربوط به یک جدول رو از model اون استخراج کرده و به view مربوطه جهت نمایش داده ها ارسال میکنیم .
در view با یک حلقه ی foreach  اطلاعات رو نمایش میدیم .

تا اینجا تا حدی کدهای html و php جدا شدن.

اما گاهی لازمه در همین حلقه ی foreah در view یک select دیگر هم انجام بشه .
خب مسلما اینجا باید یک شی از کلاس model مربوطه ایجاد کرده و متد select اونو صدا کنیم .
پس در این view نیاز به نوشتن کد php هم هست .

آیا این کار برخلاف مدل MVC هست ؟
اگر بله ، در این مواقع باید چکار کرد ؟
چطور باید همه ی این کارها رو در کنترلر انجام داد و سپس به VIEW ارسال کرد ؟
ببینید اینکه چون بخش ویو برای نمایشه نباید کد php زد اشتباهه.تو ویو هم میتونه html باشه و هم php و اینکه همه اون کارهایی که گفتید رو میشه تو model انجام داد
پاسخ
تشکر شده توسط: mary
#4
دقیقاً درست میگن. توی معماری جدید، View از یک اسکریپت ساده HTML خیلی فراتر رفته و حتی میتونه مستقیماً به مدل وصل بشه و درخواست دریافت اطلاعات کنه. منتها ثبت و ویرایش و... رو بهتره همچنان توی کنترلر انجام بدین.
پاسخ
تشکر شده توسط: mary




کاربران در حال بازدید این موضوع: 1 مهمان