• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تعریف متغیر در ابتدای کلاس
#1
سلام
چرا در آغاز کلاس بعضی از متغیر ها رو تعریف میکنند
بعضی اوقات به این صورت
کد پی‌اچ‌پی:
var $link 
و بعضی اوقات
کد پی‌اچ‌پی:
public $link 

ببخشید من یه سوال دیگه دارم که همین جا مطرح می کنم
کد پی‌اچ‌پی:
        register_shutdown_function(array(&$this,'close')); 
این & برای چیه؟
  پاسخ
تشکر شده توسط :
#2
این سوالات قبلا در انجمن پاسخ داده شده .


http://forum.iranphp.org/Thread-آموزش-شی-گرایی

در مورد یوال دوم هم & در واقع برای ارجاع مستقیم شی یا متغییر بکار میره یعنی هر تغییری که در مقدار ارسالی ایجاد بشه مستقیما روی خود مقدار ارسالی ثبت میشه .
  پاسخ
تشکر شده توسط : scooter nasserghiasi
#3
سلام و ممنونم اما من متوجه جواب سوال دوم نشدم
  پاسخ
تشکر شده توسط :
#4
اگر در زبانهای دیگر با مبحث pointer یا اشاره گر ها هستید. این همون هست اما در php به اسم رفرنس شناخته میشه

عمل کردش هم این هست که زمانی که شما دارید یک متغیر رو به یک تابع مییفرستید. در واقع یک کپی از اون رو میفرستید . پس حافظه اشغال میکنید.

اما وقتی از رفرنس ها استفاده می کنید. آدرس اون متغیر ارسال میشه . این طوری حافظه ای اشغال نمیشه
  پاسخ
تشکر شده توسط : scooter nasserghiasi
#5
این جواب در مورد & بود؟؟؟
  پاسخ
تشکر شده توسط :
#6
آره دیگه گفتید سوال دوم رو متوجه نشدم
  پاسخ
تشکر شده توسط :
#7
پس با این حساب که شما میگی اگر از & استفاده نکنیم برنامه به درستی کار میکنه ولی حافظه بیشتری اشغال میکنه
  پاسخ
تشکر شده توسط :
#8
بله. در سطح کوچیک و معمولی اینقدر ها هم تاثیر گزار نیست. اما در سطوح بالاتر بسیار خیلی بهینگی و سرعت و. ... ایجاد میکنه
  پاسخ
تشکر شده توسط : scooter
#9
ببخشید Refrence(ارجاع) با Pointer(اشاره گر)
کاملا متفاوت است
برای اطاعات بیشتر به یک کتاب مرجع C یا C++ مراجع کنید
(اشاره گر برای کار با حافظه و ایناس
ارجاع با آدرس حافظه کار داره )
  پاسخ
تشکر شده توسط :
#10
دوست عزیز حق با شماست اما اگر همون کتاب رو معرفی کردید رو مطالعه کنید. یکی از کاربرد های اشاره گرها برگردون آدرس متغیر هست. درسته؟!

خوب در پی اچ پی همینطور که تو راهنماش نوشته :

کد پی‌اچ‌پی:
References in PHP are a means to access the same variable content by different namesThey are not like C pointersinsteadthey are symbol table aliases

درسته مستقیما با حافظه درگیر نمیشه. اما جهت دسترسی به یک متغیر باز از آدرس دهی استفاده میشه.

کسی هم نگفت این ها شبیه هم هستند. من گفتم اگر آشنایی داشته باشید.(یعنی کسی که واقعا میدونه اشارگر ها چیه) به راحتی میتونه رفرنس رو درک کنه.

بابت تذکرتون هم ممنون
  پاسخ
تشکر شده توسط : k2-4u amir.s hidensoft nasserghiasi


پرش به انجمن:


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