PDA

View Full Version : تعریف کلاس فقط 1 بار!



arenaw
سه شنبه 29 اسفند 1391, 17:37 عصر
سلام

به طور مثال من میخوام یک کلاس به اسم یوزر تعریف کنم. خب یوزر میتونه لوگین کنه، مقدار فیلد هاشو (از بانک) برگردونه، فیلدهاشو آپدیت کنه.. لوگوت کنه
خب تا اینجاش درست.
من کجا متغیری که به عنوان کلاس استفاده میشه رو تعریف کنم که تا زمانی که من فانکشن لوگوت رو استفاده نکردم، این متغیر از بین نره! خب اگه بیام همون اول کدهام بنویسم :


$i = new MyClass();

تعریفش میکنه ولی وقتی کدهای اون صفحه پی اچ پیم تموم شد، پاک میشه! یعنی باید توی کوکی یا سیزن ذخیره کنم؟

SadeghPro19
چهارشنبه 30 اسفند 1391, 00:22 صبح
خب شما توی یک فایل تعریف میکنید و بعد اون فایل رو توی تموم فایل هایی که از کلاس استفاده میکنید اینکلود میکنید.

Unique
چهارشنبه 30 اسفند 1391, 01:49 صبح
فکر کنم منظورشون یک چیز دیگست ، ولی انتظاری که دارند درست نیست یعنی با معیار های برنامه های تحت وب درست نیست ،‌صفحه php درخواست میشه ,و تفسیر میشه و حالا مقداری را بر میگردونه ! دوره عمر کلاس شما که با یک متغیر مقدار دهی میشه هم توی همین بازه هستش ! چه دلیلی وجود داره که بخواین بمونه ؟ معمولا مقادیری که پس از لاگین نیاز دارند و مثل نام و نام خانوادگی و آدرس ایمیل و شماره id و غیره را توی session یا توی یک فایل ذخیره میکنند بعضی هم ترجیح میدهند هر بار از پایگاه بازیابی بشوند. حالا مشکلتون دقیقا چیه ؟

arenaw
چهارشنبه 30 اسفند 1391, 01:49 صبح
درسته، مشکل اینجاس که اون فایله وقتی اجرا میشه متغیر تعریف میشه و وقتی تموم میشه حافظش آزاد میشه!

arenaw
چهارشنبه 30 اسفند 1391, 01:59 صبح
فکر کنم منظورشون یک چیز دیگست ، ولی انتظاری که دارند درست نیست یعنی با معیار های برنامه های تحت وب درست نیست ،‌صفحه php درخواست میشه ,و تفسیر میشه و حالا مقداری را بر میگردونه ! دوره عمر کلاس شما که با یک متغیر مقدار دهی میشه هم توی همین بازه هستش ! چه دلیلی وجود داره که بخواین بمونه ؟ معمولا مقادیری که پس از لاگین نیاز دارند و مثل نام و نام خانوادگی و آدرس ایمیل و شماره id و غیره را توی session یا توی یک فایل ذخیره میکنند بعضی هم ترجیح میدهند هر بار از پایگاه بازیابی بشوند. حالا مشکلتون دقیقا چیه ؟
من میخواستم مثلا هر بار که میخوام فیلد نام خانوادگی رو داشته باشم، نیاز نباشه یه کوئری اجرا کنم یا اینکه بخوام تمام فیلد هامو توی سیزن (اگه تلفظم درسته!) ذخیره کنم، ممنونم به هر حال