عملگر instanceof در php چیست؟
زمانی که شما از یک کلاس نمونه یا instance ایجاد میکنید، می توانید یک شی ایجاد شده از کلاس را آزمایش یا بررسی کنید، که آیا امکان تبدیل این شی به یک کلاس خاص وجود دارد یا خیر؟
با بررسی یک مثال عملی این موضوع را بیشتر توضیح خواهیم دادم.
ابتدا کلاسی با نام A ایجاد و سپس نمونه ای از آن با نام obj ایجاد خواهیم کرد.
class A {
    // ...
}
$obj = new A();
if ($obj instanceof A) {
    echo '$obj is instanceof A';
}در شرط if با استفاده از عملگر instanceof بررسی میکنیم که آیا شی از نوع کلاس Test میباشد یا خیر. نتیجه این بررسی true یا false میباشد. در صورتی که آبجکت ما از نوع مورد نظر ما باشد مقدار true در غیر اینصورت مقدار false برگردانده میشود.
کاربرد instanceof در وراثت
همانطور که در قسمت ارث بری در php به نحوه ارث بری کلاس ها در php اشاره کردیم، اگر آبجکت ایجاد شده از کلاس دارای کلاس والد (کلاس parent) باشد، نتیجه instanceof باز هم مقدار true بر میگرداند.
در مثال بالا فرض میکنیم کلاس A از کلاسی به نام B ارث بری داشته باشد، در نتیجه مقدار instanceof از آبجکت obj هم برای A و هم برای B مقدار true می باشد.
class B {
    // ...
}
class A extends B {
    // ...
}
$obj = new A();
if ($obj instanceof A) {
    echo '$obj is instanceof A';
}
if ($obj instanceof B) {
    echo '$obj is instanceof B';
}هر دو شرط مقدار true دارند، به دلیل آنکه کلاس A از کلاس B ارث بری کرده است.
در این قسمت از آموزش php سعی داشتیم نکتهای را در رابطه با عملگر instanceof ارائه کنیم تا توانسته باشیم که به درک کلی تری از زبان php برسیم. همچنین این قابلیت هایی که شاید کمتر از آنها استفاده میشود، در تکمیل شدن دانش شما در زبان php تاثیر دارد و باعث بهبود و ارتقا شما در این زبان میشود.
 آموزش برنامه نویسی جاوا
                                              آموزش برنامه نویسی جاوا
                                         آموزش برنامه نویسی PHP
                                              آموزش برنامه نویسی PHP
                                         آموزش زبان sql
                                              آموزش زبان sql
                                         جاوا
                                          جاوا
                                     جاوا اف ایکس
                                          جاوا اف ایکس
                                     کدایگنایدر
                                          کدایگنایدر
                                     الگوریتم
                                          الگوریتم
                                     شبکه
                                          شبکه
                                     وب
                                          وب
                                     اس کیو ال
                                          اس کیو ال
                                     نکات برنامه نویسی
                                          نکات برنامه نویسی