سؤال

أنا جديد على البرمجة الموجهة للكائن في PHP. تضمنت فئة ودعاها، ثم، داخل منشئ هذا الفصل، أدعو وظيفة خاصة تسمى Handleconnections. لسبب ما، يعطيني خطأ فادح (وظيفة غير محددة). أي فكرة لماذا؟

الفصل:

class Test
{
   function __construct()
   {
      handleConnections();
   }

   private function handleConnections()
   {
      //do stuff
   }
}

يبدو لا تشوبه شائبة وحتى الآن أحصل على هذا الخطأ. إذا كان أي شخص لديه أي دليل ما قد يكون مخطئا، فالرجاء أن تخبرني. شكرا!

هل كانت مفيدة؟

المحلول

مجرد التوسع في إجابة FWH.

عند إنشاء فئة وتعيينه إلى متغير، من خارج الفئة، ستدعو أي وظيفة داخل هذه الفئة باستخدام D $ variable-> وظيفة ()؛. ولكن، لأنك داخل الفصل، فأنت لا تعرف ما يتم تعيين الفئة إليه، لذلك يجب عليك استخدام هذه الكلمة الأساسية $ للوصول إلى أي خصائص فئة. قاعدة الإبهام العامة، إذا كنت ستقوم بالوصول إليها مثل $ obj-> var، والوصول إليها مع $ هذا->.

class myClass
{
    function myFunc()
    {
        echo "Hi";
    }

    function myOtherFunc()
    {
        $this->myFunc();
    }

}


$obj = new myClass;

// You access myFunc() like this outside
$obj->myFunc();

// So Access it with $this-> on the inside
$obj->myOtherFunc();

// Both will echo "Hi"

نصائح أخرى

محاولة مع:

$this->handleConnections();

إذا لم تكن بادئة مكالماتك مع $، فهذا تحاول استدعاء وظيفة عالمية. $ هذا إلزامي في PHP، حتى عندما لا يكون هناك غموض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top