PDA

View Full Version : سوال: راهنمایی برای الگوی mvc



IMANAZADI
چهارشنبه 04 شهریور 1394, 16:37 عصر
با سلام
دوستان من میخوام mvc رو شروع کنم
چند تا سوال واسم پیش اومده
میخوام راهنمایی کنید

1- در الگوی mvc بین model و view هیچ ارتباطی وجود ندارد و ارتباط این دو از طریق controler می باشد ؟؟؟

2- در الگوی mvc ، یک کلاس model اصلی داریم شامل اعمال اصلی دیتابیس (insert,update ,select , delete , ....) که در اصل همان کلاس اصلی دیتابیس مون هست ؟؟؟؟

3- آیا برای controler هم یک کلاس اصلی داریم که کنترلر های دیگه از اون ارث بری می کنند ؟

4- در الگوی mvc ، ما برای هر page از سایت باید یک فایل controler و یک فایل model داریم که از model اصلی ارث میبره ؟؟؟

مثلا برای طراحی صفحه لاگین -> loginControler.php , loginModel.php , loginView.php

که در loginModel.php اعمال دیتابیس برای لاگین انجام میشه و در loginControler.php اعمال کنترل ورودی و خروجی ، ارسال به loginModel برای لاگین و loginView.php برای نمایش به کاربر می باشد ؟


اگر منبع خوب دارید ممنون میشم اگه معرفی کنید

pejman_view
چهارشنبه 04 شهریور 1394, 17:10 عصر
سلام

منابع برای یادگیری:
http://www.sitepoint.com/the-mvc-pattern-and-php-1/
http://www.sitepoint.com/the-mvc-pattern-and-php-2/

hamedarian2009
چهارشنبه 04 شهریور 1394, 17:25 عصر
1- MVC دارای پیاده سازی های مختلفی هست و یک نوع هم داریم که مدل میتونه با view مستقیما ارتباط برقرار کند به شکلی که در لینک زیر وجود دارد دقت کنید :
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

2- خیر کلاس Database جدا هست و معمولا در کلاس های base پراپرتی و متدهایی که در تمام مدل های به ارث برده شده میخواهیم داشته باشیم رو قرار می دهند مثلا در کلاس مدل اصلی در سازنده آن کلاس دیتابیس رو call میکنیم.

3- بله در کنترلر هم مانند مدل هست مثلا برای لود کردن فایل ویو و ایجاد متدی به نام render یا لود فایل های مدل از کنترلر اصلی استفاده میکنیم چون میخواهیم به آنها در تمامی کنترلرهای فرزند دسترسی داشته باشیم

4- نه لزوما معمولا برای هر entity یک مدل و کنترلر و چندین فایل view خواهیم داشت


اگر منبع خوب دارید ممنون میشم اگه معرفی کنید

http://payments.pro-php.ir/kala/index/2

http://web.itpro.ir/tutorials/9393/%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-mvc-%D8%AF%D8%B1-php
(http://payments.pro-php.ir/kala/index/2) (http://payments.pro-php.ir/kala/index/2)

C-man 15
چهارشنبه 04 شهریور 1394, 20:01 عصر
بهتره برای درک بیشتر از فریمورک pip استفاده کنی
http://gilbitron.github.io/PIP/