PDA

View Full Version : کلاس مدل به ازای هر جدول یا به ازای هر کنترلر



IMANAZADI
پنج شنبه 21 مرداد 1395, 12:43 عصر
سلام




دوستان یک سوال در زمینه mvc ؟؟


آیا برای هر جدول (table) باید یک کلاس مدل (model) نوشت یا به ازای هر کنترلر (controller) باید یک کلاس مدل نوشت ؟

مهرداد سیف زاده
پنج شنبه 21 مرداد 1395, 13:29 عصر
مدل بصورت مستقیم بستگی به جدول داره ولی:
۱. برای validation یک form میتونید مدل جداگانه طراحی کنید با این که شاید مستقیم بعد از submit به درون دیتابیس نره
۲. برای یه table دو تا فرم داشته باشید، بسته به نیاز

در کل بسته به نوع طراحی داره. ولی بهتره هر table مدلی هم نام خودش داشته باشه و تمام کارهایی که قراره روی دیتابیس صورت بگیره در این مدلها باشه. توسعه کد بهتر هست و ساختار برنامه اصولی‌تر میشه.

IMANAZADI
پنج شنبه 21 مرداد 1395, 18:51 عصر
اگر به ازای هر جدول یک مدل داشته باشیم انوقت برای viewها در دیتابیس چکار باید کرد طوری که یک ویو ساخته شده از ارتباط چند جدول باشد ؟؟؟

و اینکه آیا با ازای هر صفحه باید یک کنترلر ایجاد شود ؟

فرض کنید یک صفحه داریم که دیتای خود را از چند جدول میخواند و یک صفحه دیگر اطلاعات خود را بین چند جدول مختلف اینزرت میکنه

کنترلر و مدل این دو صفحه به چه صورت میشود ؟

IMANAZADI
جمعه 22 مرداد 1395, 13:14 عصر
کسی از دوستان نیست که بدونه

مهرداد سیف زاده
جمعه 22 مرداد 1395, 13:27 عصر
view ها میتونن بیشتر باشن یعنی برای یک کنترلر چندین view که کارهای مختلفی رو انجام میدن. بسته به نیاز هست
ولی در تعداد کنترلرها بهتر هست کمتر باشه و کارهای اصلی رو بین کنترهای کمتری سرشکن کنید. مثلا یه وبلاگ نهایت کنترهایی که باید داشته باشه: UserController,PostController,SettingController,Fi leController و نهایت دو یا سه کنترلر دیگه. مثلا کنترلر User تمام کارهای: ساخت کاربر جدید، اختصاص role به کاربر، لاگین کاربر، مدیریت سشن کاربر و حذف کاربر رو انجام میده
کنترلر Setting کلیه تنظیمات: منو، طبقه‌بندی، تنظیمات عمومی، مدیریت پلاگین و ... رو انجام میده
و دیگر کنترلرها هم این چنین هست. حالا کثسف کاری میشه اگر لاگین کاربر رو یه کنترلر به اسم LoginController انجام بده و ساخت یه کاربر جدید رو UserCreateController انجام بده
بلکه باید یک کلاس User داشته باشید که در اون : Create,Delete,Update,Find,Login,Logout,Signup,Reme mber,Profile رو بصورت متد شامل بشه
در کل برای پیاده سازی درست MVC باید مطالعه خوبی رو MVC و روشهای پیاده سازی و همچنین خوندن سورس فریم ورکهای سبکی مثل codeigniter داشته باشد.