الفرق بين المراجعتين لصفحة: «PHP/property exists»

من موسوعة حسوب
< PHP
إضافة دالة
 
لا ملخص تعديل
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>property_exists()‎</code>‎ في PHP}}</noinclude>
(PHP 5 >= 5.1.0, PHP 7)
(PHP 5 >= 5.1.0, PHP 7)


سطر 9: سطر 10:


تتحقق الدالة <code>property_exists()</code>‎‎‎‎‎‎‎ فيما إذا كانت الخاصية <code>property</code>  المُعطاة موجودةً في الصنف المُحدّد.
تتحقق الدالة <code>property_exists()</code>‎‎‎‎‎‎‎ فيما إذا كانت الخاصية <code>property</code>  المُعطاة موجودةً في الصنف المُحدّد.
{| class="wikitable"
|ملاحظة: على عكس الدوال isset()‎ و property_exists()‎، ستُعيد الدالة property_exists()‎ القيمة TRUE حتى لو كان لدى الخاصية القيمة NULL.
|}


ملاحظة: على عكس الدالة <code>[[PHP/isset|isset()‎]]</code>، ستُعيد الدالة <code>property_exists()‎</code> القيمة <code>TRUE</code> حتى لو كان لدى الخاصية القيمة <code>NULL</code>.
== المعاملات ==
== المعاملات ==


سطر 31: سطر 30:
== سجل التغييرات ==
== سجل التغييرات ==
{| class="wikitable"
{| class="wikitable"
|الإصدار
!الإصدار
|الوصف
!الوصف
|-
|-
|5.3.0
|5.3.0
| تتحقق هذه الوظيفة من وجود خاصية بشكل مُستقل عن إمكانية الوصول إليها.
| تتحقق هذه الدالة من وجود خاصية بشكل مُستقل عن إمكانية الوصول إليها.
|}
|}


سطر 50: سطر 49:
}
}
var_dump(property_exists('myClass', 'mine'));  //true
var_dump(property_exists('myClass', 'mine'));  //true
var_dump(property_exists(new myClass, 'mine'));//true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //true, PHP 5.3.0 ‏منذ النسخة‏
var_dump(property_exists('myClass', 'xpto'));   //true, PHP 5.3.0 ‏منذ النسخة‏
var_dump(property_exists('myClass', 'bar'));   //false
var_dump(property_exists('myClass', 'bar'));   //false
var_dump(property_exists('myClass', 'test')); //true, PHP 5.3.0 ‏منذ النسخة‏
var_dump(property_exists('myClass', 'test'));   //true, PHP 5.3.0 ‏منذ النسخة‏
myClass::test();
myClass::test();
?>
?>
سطر 59: سطر 58:


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة <code>[[PHP/method exists|method_exists()]]</code>‎‎‎‎‎: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف  موجودةً.
* الدالة <code>[[PHP/method exists|method_exists()]]</code>‎‎‎‎‎: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف موجودةً.


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/function.property-exists.php صفحة الدالة property_exists‎‎ في توثيق PHP الرسمي.]
* [http://php.net/manual/en/function.property-exists.php صفحة الدالة property_exists‎‎ في توثيق PHP الرسمي.]
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP OOP]]
[[تصنيف:PHP Object Handling]]

المراجعة الحالية بتاريخ 03:47، 16 أبريل 2018

(PHP 5 >= 5.1.0, PHP 7)

تتحقق الدالة  property_exists()‎‎‎‎‎‎‎ فيما إذا كان لدى الكائن أو الصنف الخاصيّة property.

الوصف

bool property_exists ( mixed $class , string $property )

تتحقق الدالة property_exists()‎‎‎‎‎‎‎ فيما إذا كانت الخاصية property  المُعطاة موجودةً في الصنف المُحدّد.

ملاحظة: على عكس الدالة isset()‎، ستُعيد الدالة property_exists()‎ القيمة TRUE حتى لو كان لدى الخاصية القيمة NULL.

المعاملات

class

اسم الصنف أو كائن من الصنف الذي يُراد اختباره.

property

اسم الخاصية المراد التأكد من وجودها.

القيم المعادة

تُعيد الدالة property_exists()‎‎‎‎‎‎‎ القيمة TRUE  إذا كانت الخاصية موجودة، وتُعيد القيمة FALSE  إذا كانت الخاصية غير موجودة، وتُعيد NULL  في حال حدوث خطأ.

ملاحظات

عند استخدام هذه الدالة فستستدعى أيّة تحميلات تلقائية autoloaders  مُسجلة إذا لم يكن الصنف مُعرَّفًا من قبل.

لا يمكن أن تكتشف الدالة property_exists()‎ الخواص التي يمكن الوصول إليها بطريقة سحرية باستخدام الدالة السحرية التابعة للصنف ‎__get‎‎.

سجل التغييرات

الإصدار الوصف
5.3.0  تتحقق هذه الدالة من وجود خاصية بشكل مُستقل عن إمكانية الوصول إليها.

أمثلة

المثال 1: مثال عن استخدام الدالة property_exists()‎‎‎‎‎

<?php
class myClass {
    public $mine;
    private $xpto;
    static protected $test;
    static function test() {
        var_dump(property_exists('myClass', 'xpto')); //true
    }
}
var_dump(property_exists('myClass', 'mine'));   //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto'));   //true, PHP 5.3.0 ‏منذ النسخة‏
var_dump(property_exists('myClass', 'bar'));    //false
var_dump(property_exists('myClass', 'test'));   //true, PHP 5.3.0 ‏منذ النسخة‏
myClass::test();
?>

انظر أيضًا

  • الدالة method_exists()‎‎‎‎‎: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف موجودةً.

مصادر