classes - oop php شرح



استدعاء طريقة من طريقة أخرى في نفس فئة PHP (2)

أحاول استخدام طريقة من داخل طريقة أخرى في الفصل. ليس لدي الكثير من الخبرة في PHP5 OOP ، ونظرت حولي للحصول على إجابات ، لكني لم أجد أي منها. أحاول استخدام getClientInfo () في sendRequest () ، وهو في نفس الفئة.

class DomainHandler {

    public static function getClientInfo($db, $client_id)
    {
        //Do stuff
    }

    public static function sendRequest($details)
    {

        require_once('MySQL.class.php');
        $db = new MySQL;

        getClientInfo($db, $client);
    }
}

ويخبرني:

خطأ فادح: استدعاء دالة غير محددة getClientInfo ()

لقد حاولت أيضا

parent::getClientInfo($db, $client); 

و

$this->getClientInfo($db, $client);

ولكن دون جدوى.

أيه أفكار؟

https://ffff65535.com


"الذات" هي الكلمة الرئيسية التي تبحث عنها

قال ، هل يمكن أن تشرح لماذا تحتاج إلى أن تكون أساليبك ثابتة؟ "ثابت" نمط رديء ويجب تجنبه.


إنك تعلن الوظائف كـ static ومن ثم فهي ليست في سياق الكائن - يمكنك الاتصال بها مع DomainHandler::getClientInfo() أو self::getClientInfo() .

إذا كنت لا تحتاج بشكل صريح إلى أن تكون الدالات ثابتة ، فيمكنك إسقاط الكلمة الأساسية static ثم تعمل هذه $this->getClientInfo() .





methods