الفرق بين المراجعتين ل"PHP/object"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
 
ط (نقل عبد اللطيف ايمش صفحة PHP/Types/object إلى PHP/object: إعادة هيكلة التوثيق)
 
(مراجعتان متوسطتان بواسطة نفس المستخدم غير معروضتين)
سطر 18: سطر 18:
 
راجع فصل [[PHP/OOP|الأصناف والكائنات]] (Classes and Objects) للمزيد من المعلومات.
 
راجع فصل [[PHP/OOP|الأصناف والكائنات]] (Classes and Objects) للمزيد من المعلومات.
 
== التحويل إلى كائن ==
 
== التحويل إلى كائن ==
إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من الصنف المُضمَّن في اللغة ''stdClass''، وإذا كانت القيمة هي <code>NULL</code>، فإن النسخة الجديدة ستكون فارغةً، وأما [[PHP/Types/array|المصفوفات]] فستحوّل إلى كائن له خاصياتٌ لها مفاتيح (keys) وترتبط بتلك المفاتيح قيمٌ (values)، باستثناء المفاتيح الرقمية والتي لن تكون قابلةً للوصول ما لم تُستعمَل عليها حلقة تكرار.
+
إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من الصنف المُضمَّن في اللغة ''stdClass''، وإذا كانت القيمة هي <code>NULL</code>، فإن النسخة الجديدة ستكون فارغةً، وأما [[PHP/array|المصفوفات]] فستحوّل إلى كائن له خاصياتٌ لها مفاتيح (keys) وترتبط بتلك المفاتيح قيمٌ (values)، باستثناء المفاتيح الرقمية والتي لن تكون قابلةً للوصول ما لم تُستعمَل عليها حلقة تكرار.
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
 
<?php
 
<?php
سطر 35: سطر 35:
 
==مصادر==
 
==مصادر==
 
*[http://php.net/manual/en/language.types.object.php صفحة Types object في توثيق PHP الرسمي.]
 
*[http://php.net/manual/en/language.types.object.php صفحة Types object في توثيق PHP الرسمي.]
[[تصنيف:PHP]]
+
[[تصنيف:PHP|{{SUBPAGENAME}}]]
[[تصنيف:PHP Types]]
+
[[تصنيف:PHP Types|{{SUBPAGENAME}}]]

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

تهيئة الكائن

لإنشاء كائن جديد، استخدم التعبير البرمجي new لتهيئة كائن من صنفٍ ما (class):

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();
?>

راجع فصل الأصناف والكائنات (Classes and Objects) للمزيد من المعلومات.

التحويل إلى كائن

إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من الصنف المُضمَّن في اللغة stdClass، وإذا كانت القيمة هي NULL، فإن النسخة الجديدة ستكون فارغةً، وأما المصفوفات فستحوّل إلى كائن له خاصياتٌ لها مفاتيح (keys) وترتبط بتلك المفاتيح قيمٌ (values)، باستثناء المفاتيح الرقمية والتي لن تكون قابلةً للوصول ما لم تُستعمَل عليها حلقة تكرار.

<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // outputs 'bool(false)'
var_dump(key($obj)); // الناتج 'int(1)'
?>

ستوضع أي قيمة أخرى في متغير عضو (member variable) يسمى scalar.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // الناتج 'ciao'
?>

مصادر