• 3 رای - 3.33 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
mysql_fetch_object یا mysql_fetch_assoc
#1
mysql_fetch_object و mysql_fetch_assoc هر دو برای واکشی داده به کار میرند تفاوت آنها در خروجی آنها هست که در mysql_fetch_object خروجی به صورت آبجکت هست و در دیگری به صورت آرایه

اما سوال ها

1- از نظر سرعت این دو دستور یکسان هستند؟
2- در کلاس نویسی و شی گرایی بهتر نیست از mysql_fetch_object استفاده بشه؟
3- بارها دیدم که در مثال ها و سورس کدها از mysql_fetch_object استفاده نمیشه چرا؟
  پاسخ
تشکر شده توسط :
#2
چون آرایه ها حجم بسیار کمتری رو نسبت به آبجکتها می گیرند. در مورد کلاس نویسی هم نباید خیلی به آبجمتها تکیه کرد آرایه ها برای این گونه ذخیره کردن ها بهترین گزینه هستند
  پاسخ
تشکر شده توسط :
#3
جدا آرایه فضای کمتری رو نسبت به آبجکت می گیره؟
جالب شد،

وحید جان حال شما با کدوم دستور زیاد و در چه مواقعی استفاده میکنید
  پاسخ
تشکر شده توسط :
#4
بله می تونید تست کنید
من همیشه از mysql_fetch_assoc استفاده کردم.
همیشه این کلمه جلوی چشمم هست و به شما هم توصیه می کنم بهش توجه کنید
php جاوا نیست
  پاسخ
تشکر شده توسط : zoghal
#5
من رو این مسئله مقدار تحقیق کردم و این Benchmark رو هم پیدا کردم

نقل قول:http://particletree.com/notebook/object-...-concerns/

بد نیست دوستان هم ببینید!


اما با این تفاسیر میشه گفت شی گرا کردن در پی اچ پی اصلا درست نیست؟
  پاسخ
تشکر شده توسط :
#6
سلام

اینکه می فرمایید "شی گرا کردن در پی اچ پی اصلا درست نیست" ، به نظرم اصلا درست نیست! باید به تعریف شی گرایی توجه بیشتری بکنیم .

با این طرز فکر شما باید سرویس گرا و خیلی ساختار های دیگه رو هم باید فراموش کنید. شی گرایی در اجرا کارهای پیچیده رو به صورت یکپارچه و مستقل در هر بخش، به بهترین روش پیاده سازی میکند . اگه همین کار رو به برنامه نویسی رویه ای یا روال انجام بدید می تونه هزینه های بیشتری رو به شما تحمیل کنه.

در واقع شی گرایی یه شیوه یا ساختار هست نه یه ابزار . اینکه شما از این مثال ها برداشتی اینطوری دارید اشتباه هست . در این مقایسه شیء رو به عنوان یه متغیر در نظر گرفته که نسبت به انواع استرینگ و آرایه فضای بیشتری اشغال میکنه و شما میتونید متوجه بشید که توابعی که خروجی رو به صورت شی میده زمان و حجم بیشتری از رم رو اشغال میکنه و ....

اما این مثال هیچ ربطی به اساس شی گرایی نداره . Idea

محمد جان حرف شما درسته ولی فکر میکنم دنیا به سمت شی گرایی رفته و داره دوران بلوغش رو طی میکنه Blush
فراموش نکنید که جاوا اساس زبانش بر شی گرایی هست ، ولی این به این معنا نیست که شما هرجوری با جاوا برنامه بنویسی OOP در بیاد . شما در جاوا هر ابزاری نیاز داشته باشید باید از کلاس و شی مربوطه استفاده کنید (مثل جاوااسکریپت! ) . اما اساسا در PHP اینطوری نیست ...

پس واقعا "java ، PHP نیست " . من فکر میکنم مفاهیم شی گرایی فارغ از زبان خاصی باشه و در مفهوم همون شیوه هست .
  پاسخ
تشکر شده توسط : zoghal
#7
من اول حرفم رو تصحیح کنم
منظور من این بواد که واقعا نمی تونیم در حال حاظر از پی اچ پی به صورت کامل شی گرایی استفاده کنیم

بر منکر oop نمیشم من قبل از پی اچ پی دلفی کار بودم و هستم و با opp کاملا آشنا هستم

منتها طبق صحبت وحید و Benchmark که گزاشتم دارام می بیتم در حال حاظر نمی تونییم به صورت کامل از اشیا بهره بگیریم.
  پاسخ
تشکر شده توسط :
#8
بازم سلام

صالح جان قصد جسارت نداشتم Blush

نقل قول:در این مقایسه شیء رو به عنوان یه متغیر در نظر گرفته که نسبت به انواع استرینگ و آرایه فضای بیشتری اشغال میکنه و شما میتونید متوجه بشید که توابعی که خروجی رو به صورت شی میده زمان و حجم بیشتری از رم رو اشغال میکنه و ....

اما این مثال هیچ ربطی به اساس شی گرایی نداره .

فکر میکنم منظورم رو خوب نرسوندم . فقط میخواستم بگم تعبیر شما از این Benchmark به نظر من ( یه نظر شخصی) اشتباه هست. چون شما فرمودید :
نقل قول:اما با این تفاسیر میشه گفت شی گرا کردن در پی اچ پی اصلا درست نیست؟

همینWink

محمد جان ؛
برای برنامه نویسی با شیوه شی گرا نیازی نیست خود اون زبان هم (مثل جاوا) شی گرا پیاده سازی بشه . به نظر من کافیه ابزار های لازم رو داشته باشه ...

در مورد این هم "شاید نیاز نباشه که PHP یک زبان شی گرای محض باشه" ، به شدت موافقم . و فکر میکنم در ورژن 6 به اوج خودش برسه Wink
  پاسخ
تشکر شده توسط :
#9
نظر من اینه OOP به معنایی که همش شی گرایی باشه و از آرایه ها استفاده نشه درست نیست. در مورد شی گرایی در php باید دید چگونه می خواییم از اشیا استفاده کنیم. مثلا چه لزومی داره که اطلاعات دریافتی از mysql رو داخل object بریزیم؟ آیا ریختن اونها در داخل آرایه لطمه ای به طراحی شی گرایی می زنه؟
طراحی شی گرایی رو بهتر بیایین معنی کنیم. شی گرایی یعنی یک کمک برای بهبود رویه تولید نرم افزاد و گسترش اون. وگرنه استفاده نادرست از شی گرایی می تونه یک نرم افزار رو بی خودی پیچیده کنیم. پس طراحی شی گرایی رو با برنامه نویسی شی گرا یکی کنیم این دو مکمل همدیگه هستند و هر کدوم تکی نمی تونن نیازمون رو برآورده کنند بلکه یک مانع هم خواهند بود
  پاسخ
تشکر شده توسط : zoghal molana


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان