زمان جاری: 2012/05/25, 05:01 PM خوش آمدید مهمان گرامی! (ورودعضویت)



تفاوت name, uses, loademodel در چی هست؟


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
تفاوت name, uses, loademodel در چی هست؟
نویسنده پیام
phpweb آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 84
تاریخ عضویت: Sep 2011
رتبه: 0
تشکر: 63
4 بار تشکر شده در 4 پست
ارسال: #1
تفاوت name, uses, loademodel در چی هست؟
من هرچی منوال رو خوندم نتونستم متوجه بشم که تفاوت name, $uses, loademodel$ در چی هست؟
تنها چیزی که متوجه شدم این بود که هرکدوم از اینها می تونن یه مدل غیر از مدل پیش فرض رو فراخوانی کنن.

اگر امکانش هست در این مورد توضیح بدید.
2011/10/26 11:25 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 993
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 402
873 بار تشکر شده در 561 پست
ارسال: #2
RE: تفاوت name, uses, loademodel در چی هست؟
از اینکه متغیر $name رو هم جز این دسته آوردید مشخصه خوب نخوندین. این متغیر هم در کنترلر ها هم در مدل ها جز سانتکس کیک هست و باید باشه. که نام کلاس هست.
کاربردش هم در معماری های شی گرایی واسه نسخه 4 پی اچ پی بوده و هنوز هم به کار گرفته میشه(تا اونجا که من فهمیدم.) و چند مورد دیگر.


در حالت کلی هر کنترلر یک مدل هم باید داشته (البته میتونه اصلا هم نداشته باشه، بستگی به کاربرد)

در حالاتی نیاز هست علاوه بر مدل اون کنترلر به یک یا چند مدل دیگر هم دسترسی داشته باشه.

این دسترسی ها به دو صورت هست

1- مدل با مدل های که نیاز داریم ریلیشن دارند. این ارتباط ها در مدل تعریف می شوند

2- هیچ ارتباطی بین مدل کنترلر و مدل مورد نظرمون نیست (به عنوان مثال مدل لاگ یا نگهداری گزارش ها و ...)

در این حالت به دو صورت می تونید از سایر مدل های دیگر در کنتلر هامون استفاده کنیدم.

1- استفاده از $uses : در این حالت زمانی که از کنترلر یک شی ساخته میشه. همون لحظه مدل ها هم فراخوانی شده و به کنترلر وصل میشند.

2- استفاده از $this->loadmodal(); :
هر وقت از این روش استفاده کنیم. همون لحظه که این دستور فراخوانی می شود. مدل مورد نظر به کنترلر ارتباط داده میشه.

خوب
2011/10/27 03:31 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : phpweb payamsp farhadfery
phpweb آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 84
تاریخ عضویت: Sep 2011
رتبه: 0
تشکر: 63
4 بار تشکر شده در 4 پست
ارسال: #3
RE: تفاوت name, uses, loademodel در چی هست؟
نقل قول:1- استفاده از $uses : در این حالت زمانی که از کنترلر یک شی ساخته میشه. همون لحظه مدل ها هم فراخوانی شده و به کنترلر وصل میشند.

2- استفاده از $this->loadmodal(); :
هر وقت از این روش استفاده کنیم. همون لحظه که این دستور فراخوانی می شود. مدل مورد نظر به کنترلر ارتباط داده میشه.
پس می شه نتیجه گرفت که loadmodal فقط یک مدل دیگه رو قابل دسترسی می کنه و uses چندین مدل رو قابل درسترسی می کنه؟
2011/10/27 04:05 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 993
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 402
873 بار تشکر شده در 561 پست
ارسال: #4
RE: تفاوت name, uses, loademodel در چی هست؟
خیر نتیجه تون درست نیست.
شما هم میتونید از loadmodal چندین باز استفاده کنید . به آنچه که گفتید میرسید.

بزرگترین مزیت loadmodal جهت بهبود و بهنه کردن و مصرف کمتر منابع هست.

شما کنتلری رو در نظر بگیرید که 20 تا اکشن داره. شما اگر در بیشتر اونها یعنی 99% نیاز داشته باشید که از سایر مدل ها استفاده کنید. خوب می تونید از uses استفاده کنید.

اما اگر در یکی از اکشن ها فقط نیاز به مدل خارجی هست حتما از loadmodal باید استفاده بشه. تا فقط برای اون اکشن شما رم و سایر منابع مصرف بشه.
2011/10/27 04:17 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : ghasem.fattahpour payamsp farhadfery
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: