• php
  • 1661
  • 20-3-2008
  • الجميع يعرف أن PHP تحتوي على العديد من أنواع المتغيرات مثل string, int, float, array, object.. وهي أنواع لتمثيل نوع البيانات التي يتم تخزينها في المتغير نفسه فمثلاً عندما يقال لك أن المتغير y من نوع int فسيتبادر إلى ذهنك أن y يحتوي على عدد مثل 5 أو 770 ... إلخ وهكذا لبقية أنواع المتغيرات ... يمكن أن يكون نوع المتغير هو function أو callback function .. مامعنى ذلك ؟
    أي يمكن أن يكون نوع المتغير هو دالة أي أن المتغير يخزن بداخله دالة
    طيب كيف ذلك يا عبدالله عيد ؟
    لاحظ المثال التالي ...
    <?php
    function foo() {
    echo "In foo()<br />\n";
    } $func = 'foo';
    $func(); // This calls foo() ?>
    الآن لاحظ أننا قمنا بعمل دالة عادية بإسم foo ولإستدعاء الدالة سنقوم بكتابة foo() وهذا ما هو متعارف عليه ولكن كما ترى في المثال السابق أنه قام بتعريف متغير أسماه func ووضع فيه اسم الدالة foo فقط وأصبح المتغير func من نوع string الآن استخدم الأقواس الخاصة بالدالة مع إسم المتغير كما ترى في المثال الموجود بالأعلى وعندها ستكتب
    <?php $func ();?>
    عندما يجد مترجم php هذا المتغير مع الأقواس سيفترض عندها أن المتغير هو من نوع string وأن بداخله إسم الدالة أي يستخدم كإسم مستعار للدالة ... وللزيادة في التوضيح لاحظ المثال التالي
    <?php
    // This is a wrapper function around echo
    function echoit($string)
    {
    echo $string;
    } $func = 'echoit';
    $func('test'); // This calls echoit() ?>
    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل الكاتب عبدالله عيد
    كن أول من يقيم الموضوع
    12345