آشنایی با تفاوت Pass by Value و Pass By Reference در زبان PHP

آشنایی با تفاوت Pass by Value و Pass By Reference در زبان PHP

گاهی‌ اوقات در فرآیند توسعهٔ نرم‌افزار نیاز داریم تا به جای ساخت یک متغیر، آرایه، آبجکت یا هر چیز جدیدی از سازوکاری استفاده کنیم که تغییرات مد نظر روی همان متغیر، آرایه یا آبجکت اِعمال شده و به جای اِشغال کردن فضایی جدید، با ساخت کُپی‌هایی از روی متغیرها، آرایه‌ها و یا آبجکت‌ها همان داده‌های قبلی را دستخوش تغییر سازیم و اینجا است که باید با مفهومی تحت عنوان Pass by Reference آشنا شویم. 

به طور کلی، از جمله مزایای چنین کاری می‌توان به این نکته اشاره کرد که به سادگی قادر خواهیم بود تا داده‌ها را بسته به نیاز خود تغییر داده تا در نهایت به متغیر، آرایه یا آبجکتی با تمامی خصوصیات مد نظرمان دست یابیم اما در عین حال باید توجه داشته باشیم که استفاده از چنین رویکردی می‌تواند یکسری اثرات جانبی نیز داشته باشد؛ مثلاً زمانی که آرایه یا آبجکتی که روی آن کار می‌کنیم در خارج از فانکشن مد نظر ما هم استفاده شده باشد که در چنین شرایطی ممکن است با مشکل مواجه شویم چرا که ساختار آرایه یا آبجکت تغییر کرده است و بالتبع بخشی از اپلیکیشن با مشکل مواجه خواهد شد.

این بخش از محتوا مخصوص کاربرانی است که ثبت‌نام کرده‌اند.
جهت مشاهدهٔ این بخش از محتوا لاگین نمایید.

جمع‌بندی
به طور کلی و به گفتهٔ وب‌سایت رسمی زبان PHP، تا حد ممکن از Pass By Reference استفاده نکنید و صرفاً زمانی از این مدل استفاده کنید که واقعاً به آن نیاز دارید چرا که گاهی‌ اوقات این مسئله منجر به ایجاد باگ‌هایی می‌شود که یافتن آن‌ها بسیار دشوار خواهد بود اما در عین حال مواقعی که نیاز داریم تا حافظه را خیلی درگیر نکنیم، با استفاده از این روش به سادگی می‌توانیم تغییرات مد نظر خود را روی همان نسخهٔ اصلی از متغیر، آرایه یا آبجکت اِعمال نماییم. در خاتمه، چنانچه علاقمند به فراگیری گام به گام زبان برنامه‌نویسی PHP هستید، می‌توانید به دورهٔ آموزش PHP در سکان آکادمی مراجعه نمایید.