TGViewer
| کانال توسعه‌دهندگان PHP | | کانال توسعه‌دهندگان PHP | @developixphp · 1.68K subscribers
Post #26 701
کلاس‌های ناشناس یا انانیموس در PHP، امکان تعریف کلاس‌هایی را می‌دهند که نام خاصی ندارند و بلافاصله پس از تعریف، نمونه‌سازی می‌شوند. این قابلیت اولین بار در PHP 7 معرفی شد و به توسعه‌دهندگان اجازه می‌دهد برای استفاده‌های یک‌باره یا محدود، سریع‌تر و منعطف‌تر کلاس تعریف کنند.

نحوه تعریف کلاس ناشناس:
کلاس‌های ناشناس مستقیماً هنگام نیاز نمونه‌سازی می‌شوند و می‌توانند به متغیری اختصاص یابند یا به عنوان آرگومان به تابعی ارسال شوند. ساختار کد آنها شبیه به کلاس‌های معمولی است، با این تفاوت که نامی برای کلاس تعریف نمی‌شود.

یک نمونه کلاس بی نام در زیر آماده هست:
$class = new class {

}

تفاوت‌ها با کلاس عادی:
کلاس‌های ناشناس، همان‌طور که از نامشان پیداست، نامی ندارند.

اغلب برای استفاده‌های یک‌باره یا در محدوده‌های محلی که نیازی به تعریف یک کلاس کامل نیست، به کار می‌روند.

در زمان تعریف کلاس نمونه‌سازی می‌شوند و نمی‌توانند مجدداً نمونه‌سازی شوند مگر اینکه تعریف کلاس مجدداً انجام شود.

مثال:
یک سناریو کاربردی برای استفاده از کلاس‌های ناشناس، تعریف سریع یک اینترفیس برای استفاده در یک تابع خاص است، بدون نیاز به تعریف یک کلاس کامل در سطح برنامه.

interface Greeting {
public function sayHello();
}

// استفاده از کلاس ناشناس که اینترفیس Greeting را پیاده‌سازی می‌کند
$greeting = new class implements Greeting {
public function sayHello() {
return "Hello, Anonymous Class!";
}
};

echo $greeting->sayHello();

در این مثال، یک کلاس ناشناس که اینترفیس Greeting را پیاده‌سازی می‌کند، تعریف و بلافاصله نمونه‌سازی شده است. این اجازه می‌دهد برای موارد استفاده محدود یا تک‌باره، کدی تمیزتر و ساده‌تر نوشته شود.

در مثال دیگر میتوانیم یک کلاس ناشناس را به عنوان ورودی به یک تابع بدهیم:

my_function(new class {

});

عملکرد آنها دقیقا مشابه تابع های ناشناس (Anonymous function) یا (closure) می باشد.

اگر با Anonymous function ها آشنایی ندارید یا آشنایی کمی دارید در کامنت ها اطلاع دهید تا یک پست برای آنها نیز آماده کنیم.

👤 AmirHossein

💎 Channel: @DevelopixPHP
  • ❤ 5
More from @developixphp
  1. Sep 26, 2026این کد موقع اجرا چه خروجی‌ای می‌ده و مشکلش کجاست؟ 🔖 #PHP #پی_اچ_پی 👤 Developix 💎 Channe…
  2. Sep 25, 2026🔥 پکیج: قراردادهای ترجمه سیمفونی اگر کد PHP را برای چندزبانگی می‌نویسید، بهتر است منطق بر…
  3. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
  4. Sep 11, 2026ارسال ایمیل تأیید ثبت‌نام، بازیابی رمز عبور یا نوتیفیکیشن سفارش، تقریباً توی هر پروژه‌ PHP…
  5. Sep 10, 2026برنامه نویسی سوکت در PHP بخش اول عبارت دیگر در ارتباط های غیر سوکت برای ارسال یک پالس از س…
  6. Aug 31, 2026🔥 پکیج: استاندارد PSR-11 برای Container استاندارد PSR-11 فقط یه interface مشترک برای Cont…
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 →