PDA

View Full Version : mvc



هزاره سوم
یک شنبه 16 شهریور 1393, 01:55 صبح
با سلام
من تازه دارم روی یادگیری مفاهیم mvc کار میکنم میخواستم بدونم بخش model دقیقا چه بخش هایی رو شامل میشه؟؟
اکثر لینک هایی رو که دیدم توضیحات مشابه ای رو داشتن!
view بخش دیزاین یا user interface
model بخش های مربوط به دیتابیس و ..
controller یه پل ارتباطی بین دو گزینه بالا ....


الان اگه بخوام یه تابع یا یه الگوریتم بنویسم مثلا x رو با y جمع کنه باید توی کدوم بخش باشه؟
دوستان لطفا هرچی در مورد model ها میدونید توضیح بدید
و کلاس هایی که توش مورد استفاده قرار میگیره رو بگید .. مثلا کلاس user اطلاعات یوزر از دیتابیس در میاد ..
کنترلر هم توضیح بدید

تشکر

احسان!
یک شنبه 16 شهریور 1393, 02:14 صبح
سلام
هر کد مربوط به کار با پایگاه داده در قسمت model قرار میگیره.(دریافت اطلاعات از پایگاه داده،به روز رسانی اون،حذف و باقی کارها.)هر پروژه ای کلاس ها و توابع یکسانی نداره که بگیم فلان چیزها ... .

چیزی که گفتید(x + y)توی اون روش نمیگنجه.فوقش بشه دو تا لایه ویو و کنترلر براش گذاشت.
لایه ی ویو میشه فرمی که دو تا عدد رو وارد میکنید و صفحه ای که عدد حاصل رو نشون میدید.
لایه ی کنترلر هم میشه اسکریپتی که فرم رو لود کنه و باهاش دو تا عدد رو جمع میکنید.


توضیحات بیشتر:
فرض کنید یه برنامه میخوایم که یه جمله رو از کاربر بگیره و توی پایگاه داده ثبت کنه.
حالا میایم یه فرم با html مینویسیم و فرضا توی پوشه v قرار میدیم.(پوشه هم نباشه مهم نیست.)
یه صفحه ی html دیگه هم میسازیم که یه پیغام تشکر از کاربر داره.(توی همون پوشه.)

حالا یه اسکریپت برای ارتباط با پایگاه داده مینویسیم.(که جمله رو ثبت کنه.)و میذاریمش توی پوشه ی m

حالا برای برقراری ارتباط با این دو تا یه اسکریپت دیگه مینویسیم و میذاریمش توی پوشه ی c.توی این اسکریپت،پرونده های توی پوشه ی v رو لود میکنیم.(یا کارهای مشابه.)و برای عملیات مربوط به پایگاه داده هم پرونده ی توی پوشه ی m رو فراخوانی میکنیم.در نهایت هم پرونده ی تشکر.
ترکیب اینا میشه mvc.امیدوارم گنگ نبوده باشه توضیحاتم.
اگه خودتون یه کم عملی کار کنید راحت دستتون میاد.خیلی خیلی چیز ساده ایه.میتونید با چهارچوب ها هم کار کنید.(مثلا کد ایگنایتر)

هزاره سوم
یک شنبه 16 شهریور 1393, 02:24 صبح
تشکر ، خیلی خوب توضیح دادید
راستش داشتم یه فیلم در مورد mvc میدیدم .. و واسه مثال ، یه تابع توی بخش مدل نوشت که مقدار دو عدد رو جمع و خروجی میداد تابع مدل رو توی کنترلر صدا زد و بعد بخش ویو و نمایش رو صدا زد..بخش دیتابیس و اینکه مدل ها این بخش رو در بر میگره میدونم ..
یه مثال دیگه بگم شاید از این بتونم بگم چرا گنگ شد یه خورده ..مثلا من میخوام یه تابع داشته باشم به اسم getIP() که میاد آیپی کاربر رو خروجی میده .. این الان باید توی کدوم بخش باشه؟ فقط خروجی بده نمایش نه

Mohammadsgh
یک شنبه 16 شهریور 1393, 10:20 صبح
اگه انگلیسیتون خوبه پیشنهاد میکنم دو لینک زیر رو ببینید.هم میتونید mvc یاد بگیرید هم باهاش فریم ورک بسازید:لبخندساده:
Model View Controller MVC (http://www.phpro.org/tutorials/Model-View-Controller-MVC.html)
Build a PHP MVC Application: Introduction (Part 1/8) - YouTube (https://www.youtube.com/watch?v=OsCTzGASImQ&list=PLfdtiltiRHWGXVHXX09fxXDi-DqInchFD)

احسان!
یک شنبه 16 شهریور 1393, 11:36 صبح
راستش هیچ ایده ای ندارم که چرا توی قسمت مدل گذاشته اون رو.
getIP هم رو قاعدتا توی کنترلر مینویسیم.

godofphp
یک شنبه 16 شهریور 1393, 11:47 صبح
یه جستجویی بزنی ابتدا بد نیست