TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.3K subscribers
Post #12876 6.44K
در PHP؛ وقتی انعطاف‌پذیری زبان می‌تونه دردسرساز بشه!

یکی از ویژگی‌های جالب PHP، Type Juggling هست؛ یعنی PHP در بعضی شرایط خودش سعی می‌کنه type داده‌ها رو تبدیل کنه تا عملیات موردنظر انجام بشه.

در نگاه اول این رفتار خیلی راحت و کاربردیه، اما وقتی وارد پروژه‌های بزرگ‌تر مثل Laravel می‌شیم، همین انعطاف‌پذیری می‌تونه گاهی باعث رفتارهای غیرمنتظره بشه.

اینجاست که چیزهایی مثل استفاده‌ی درست از type declaration، validation و مقایسه‌ی strict (===) اهمیت پیدا می‌کنن.

البته strict_types قرار نیست تمام مشکلات Type Juggling رو در PHP حل کنه؛ اما باعث می‌شه در بخش‌هایی از کد، رفتار typeها قابل‌پیش‌بینی‌تر باشه.

به نظرم یکی از نکات مهم در کار با PHP اینه که:

هرچقدر پروژه بزرگ‌تر می‌شه، شناختن رفتارهای خود زبان اهمیت بیشتری پیدا می‌کنه؛ چون خیلی از باگ‌های سخت، نه از منطق پیچیده‌ی business، بلکه از یک assumption اشتباه درباره‌ی typeها
به وجود میان.

زبان PHP ساده به نظر می‌رسه، ولی هرچقدر عمیق‌تر بشناسیمش، متوجه جزئیات بیشتری می‌شیم که روی کیفیت کدمون تأثیر می‌ذاره.

@DevTwitter | <Amir Mohammad M./>
  • 👍 32
  • 🍌 11
  • ❤ 8
More from @devtwitter
  1. Oct 1, 2026این بار ساده‌تر با لینگانو ادامه بده! 📕 📍دسترسی نامحدود به دوره‌ها 📍پنل اختصاصی در سایت…
  2. Oct 1, 2026سایتی که حرصتان را درآورده با آرپی‌جی نابود کنید! بازی تحت وب Destroy Any Website یک تجربه…
  3. Oct 1, 2026سرویس Cloudflare می‌خواد به یه مرجع صدور گواهی عمومی تبدیل بشه. هدفشون چیه؟ می‌خوان گواهی‌…
  4. Oct 1, 2026صدای ویندوزهای قدیمی یادتونه؟ صدای Startup ویندوز XP، خطای Windows 98، صدای وصل شدن دستگاه…
  5. Oct 1, 2026Post #13400
  6. Oct 1, 2026اینم برای کسایی که بکند رو بهتر میخوان یاد بگیرن https://www.youtube.com/watch?v=_PipiJ_i6…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →