ProCode | پُرو‌کُد
120 subscribers
183 photos
20 videos
17 files
363 links
پُروکُد ، جایی که برنامه نویسان حرفه‌ای متولد می‌شوند 🚀🧑🏻‍💻

Linkedin : https://ir.linkedin.com/in/amirreza-riahi-106a51304

Telegram :
@AmirRh2087

Github :
www.github.com/AmirRiahi2008

Website :
بزودی
Download Telegram
Forwarded from Panic Dev (Hessam)
💡 کلاس WeakMap در PHP: قهرمان خاموش برای مدیریت حافظه
در زمان توسعه بخش‌های پرفورمنس‌محور یک اپلیکیشن، متوجه شدم که WeakMap می‌تونه یه قهرمان خاموش باشه که زمانی که بهش نیاز داری، به دادت می‌رسه.

🔍 کلاس WeakMap چیست؟
در ظاهر، WeakMap مثل یه store کلید-مقدار عادی به نظر میاد. اما تفاوت اصلی اینجاست که WeakMap کلیدها رو به صورت weak reference نگه می‌داره، یعنی وقتی شی از حافظه پاک میشه، WeakMap به‌طور خودکار اون ورودی رو حذف می‌کنه. این ویژگی باعث میشه که نیازی به پاک‌سازی دستی داده‌ها نباشه و هیچ‌گونه حافظه‌ای به طور نادرست مصرف نشه.

📌 چرا این ویژگی اهمیت داره؟
فرض کنید در حال ساخت یک مدیریت مستندات یا مدیریت تصاویر هستید. هر شی (مثل یک فایل یا تصویر) ممکنه متادیتای پرهزینه‌ای برای محاسبه داشته باشه. می‌خواهید این متادیتا رو در هنگام استفاده از شی کش کنید ولی نیازی به پاک‌سازی دستی و نگرانی از نشت حافظه ندارید.

🛠 نمونه کد:
در کدی که در تصویر مشاهده میکنید . ما از WeakMap برای کش کردن متادیتای اشیاء استفاده می‌کنیم


🚀 نتیجه‌گیری

در نتیجه WeakMap برای مواردی مثل مدیریت کش متادیتا یا پردازش‌های پرهزینه بسیار مفیده، چرا که از نشت حافظه جلوگیری می‌کنه و با خودکار حذف کردن ورودی‌ها از حافظه، کار رو برای برنامه‌نویس راحت‌تر می‌کنه.

🔗 منبع: مقاله

#PHP #MemoryManagement #WeakMap #Cashing #Development #Backend #OptimizedCode


@panicdev
👍1