PDA

View Full Version : سوال: سوال در مورد لایه Model



Dead Space
پنج شنبه 16 آذر 1391, 22:35 عصر
سلام
میخواستم ببینم در لایه مدل لزوما باید داده های دیتابیس به صورت آرایه به کنترلر برگردن ؟ در صورتی که مقادیری که قصد داریم به کنترلر بدیم چندین آرایه باشه تعریف پروپرتی پابلیک و دسترسی بهشون از کنترلر اشتباه هستش ؟
و اینکه اعتبار سنجی فرم در مدل انجام میشه ؟
با تشکر

pani.khoram
جمعه 17 آذر 1391, 04:56 صبح
سلام ،
اعتبار سنجی در فولدر LIBS شما تعریف می شه .
بازگشت اطلاعات هم همیشه آرایه می باشد . بله تعریف متغییر های پاپلیک در لایه مدل اشتباه می باشد . اگه بیشتر در مورد مشکلت بگی شاید راحت تر بشه کمک کرد !

موفق باشید

Jason.Bourne
جمعه 17 آذر 1391, 11:47 صبح
سلام ،
اعتبار سنجی در فولدر LIBS شما تعریف می شه .
موفق باشید

منظورتون از LIBS چی هست؟


سلام ،
بله تعریف متغییر های پاپلیک در لایه مدل اشتباه می باشد
موفق باشید

میشه بیشتر توضیح؟!

pani.khoram
جمعه 17 آذر 1391, 12:08 عصر
سلام ، این که بخوام LIBS رو کامل و خیلی خلاصه بگم سخته ولی شاید اگه بگم معمولا ما چه فایل ها و کلاس هایی رو تو LIBS قرار می دیم کمک کنه :
مثلا کلاس MODEL , CONTROLLER , DATABASE , BOOTSTRAP , SESSION , VIEW , بسته به نیاز موارد دیگه رو تو قولدر libs قرار میدیم . کلاس مثلا کنترلر که اینجا گذاشته می شه توسط تمام فایل کلاس های کنترلر تعریف شده درون فولدر controller شما extends می شه و یا مثلا کلاس دیتابیس پایین ترین سطح ارتباط با دیتابیس شماست یا همون DATA ACCESS شما . البته ساختار MVC هر کسی یه جوری پیاده سازی می کنه من این الگو رو به جرات می تونم بگم کمپانی های خیلی بزرگ ازش استفاده می کنند ، حتی ما تو جاوا هم این سبک تقسیم بندی رو داریم که BL از DA فولدرهاشون جدا می شه ولی درون فولدر اصلی به اسم MODEL قرار می گیرن .
در کل فولدر LIBS تمام کلاس های مادر سیستم رو در بر می گیره . مثل کنترل سنجی فرم ها حتی .

نکته دوم : ما همیشه در مدل MVC برای سهولت کار و حتی امنیت و دور شدن از اسپاگتی کد ها ، تمام پارامترهای ارسالی به سمت متد های مدل رو آرایه می فرستیم و بازگشت از آنها رو هم آرایه دریافت می کنیم ، من هنوز دلیل اینکه چرا شما نیاز به متغییر سراسری داری رو نشدم ، یکم دوباره پروژه رو بررسی کنی حتما مشاهده می کنی که با آرایه هم می تونی پاسخ رو از مدل دریافت کنی که کدت از حالت استاندارد خارج نشه .

موفق باشی
http://seo-tools.blogfa.com
www.landmarksem.com

Jason.Bourne
جمعه 17 آذر 1391, 14:41 عصر
نکته دوم : ما همیشه در مدل MVC برای سهولت کار و حتی امنیت و دور شدن از اسپاگتی کد ها ، تمام پارامترهای ارسالی به سمت متد های مدل رو آرایه می فرستیم و بازگشت از آنها رو هم آرایه دریافت می کنیم ، من هنوز دلیل اینکه چرا شما نیاز به متغییر سراسری داری رو نشدم ، یکم دوباره پروژه رو بررسی کنی حتما مشاهده می کنی که با آرایه هم می تونی پاسخ رو از مدل دریافت کنی که کدت از حالت استاندارد خارج نشه .

موفق باشی
http://seo-tools.blogfa.com
www.landmarksem.com

زمانیکه میخواهیم مقداری را به متد پاس دهیم، بهتر است آرایه باشد؟! (حتی زمانیکه مقدار ما تکی است و آرایه ما یک آرایه با یک اندیس می شود؟)
و اگر مقداری که متد باز می گرداند یک متغیر باشد، آن را به شکل آرایه باز گردانیم؟

pani.khoram
شنبه 18 آذر 1391, 05:18 صبح
نه دیگه وفتی مقداری که می خوای ارسال کنی تکی می باشد ، به شکل یک پارامتر ورودی به تابع مدل بفرست و موقع بازخوانی آن تابع می تونی ، مقدار تکی رو پاس بدی ، ولی وقتی مقادیر بیشتر از یکی باشه باید از آرایه استفاده کنی

Dead Space
شنبه 18 آذر 1391, 14:38 عصر
ممنون بابت پاسختون
یک سوال دیگه هم داشتم
من از Smarty برای View استفاده می کنم.
برای همین مقادیری که میخوام به View پاس بدم از طریق Smarty در داخل Controller این کار رو می کنم.
مثلا عنوان صفحه جاری رو به صورت زیر:

$smarty->assign('title','Index')
در کنترلر قرار میدم و در آخر View مخصوص اون کنترلر رو صدا می کنم.
گاهی اوقات هم ممکنه چندین خط کد html در همین کنترلر به وسیله Smarty به متغیری مثل همین بالا نسبت بدم که در View بهش دسترسی داشته باشم.
میخواستم ببینم این کار مشکلی که نداره ؟
و اگر مشکل داره راه حل درست چیه
ممنون

pani.khoram
شنبه 18 آذر 1391, 17:47 عصر
ببین خود اسمارتی یه استاندارد طراحی قالب خیلی کامله ولی من شخصا معتقدم کسی که بتونه از چند استاندارد در کنار هم استفاده کنه خیلی پروژه هاش قوی تر از آب در می اید . حالا اینکه استاندراد چی می گه و به چه شکل باید پیاده سازی شود یه بحثه این که شما به عنوان طراح یه سایت و تحلیل گرش چی رو صلاح بدونی یه بحث دیکه ، لزوما همیشه استاندارد ها کامل و کافی نیستند . ولی برای اینکه صحیح تصمیم بگیری یشنهاد می کنم حتما یه مدل کامل MVC رو مطالعه کنید تا با خیال راحت بهترین راهکار رو انتخاب کنید .
موفق باشی

Jason.Bourne
یک شنبه 19 آذر 1391, 00:46 صبح
. ولی برای اینکه صحیح تصمیم بگیری یشنهاد می کنم حتما یه مدل کامل MVC رو مطالعه کنید تا با خیال راحت بهترین راهکار رو انتخاب کنید .
موفق باشی

چه چیزی را پیشنهاد می کنید؟