سؤال

وأنا الحصول على "دعوة إلى process_data دالة عضو () على غير كائن في page.class.php على خط 35" على الرغم من كان يطلق عليه الكائن.

وهنا يتم استخراج index.php يظهر الكائن الذي يتم instantised

// require our common files
require("modules/module.php");
require("registry/objects/datetime.class.php");
require("registry/objects/page.class.php");


// load in all the objects
$datetime = new dateandtime;
$page = new page;
$module = new module;

وثم يمر إلى فئة عملية

        require("template.class.php");
        $template = new template($php_path . "controllers/themes/adm/" . $page . ".html");

        // Place in both commonly used language and page specific language
        $template->language($php_path . "controllers/language/en/adm/common.php");
        $template->language($php_path . "controllers/language/en/adm/" . $page . ".php");

        // Tell the page's module to load in data it needs
        $module->process_data("module_" . $page);

        // Output the final result
        $template->output();

وانها في هذه المرحلة PHP رمي الخطأ. محتويات الملف module.php كما يلي

class module {

    public function process_data ($child) {
        require($child . ".php");
        read_data();
        return true;
    }
}

ولقد حاولت تحريك إعلان المثال إلى داخل رمز لصق الثاني، ولكن الذي يولد المزيد من الأخطاء، لأن الفئة التي "وحدة" ويدعو في ذلك الحين تستخدم بعض الطبقات "قالب" كذلك - حتى يحدث نفس المشكلة مزيد من مجرد أسفل الخط.

ما أنا الحصول على خطأ لها، أو مفقودة تماما، وأنا متأكد انها الأخير ولكن أنا حقا بحاجة إلى مساعدة هنا. بفضل

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

المحلول

ويبدو لي كما لو كانت وحدة $ متغير يست في نطاق عند محاولة استدعاء أسلوب كائن. قد تتمكن من محاولة var_dump ($ حدة) قبل $ module-> process_data ( "module_". $ الصفحة). ما هو نتيجة لهذه الوظيفة؟ حل سريع يمكن أن يعلن $ حدة عالمية، ولكن غلوبالس ليست فكرة جيدة جدا على أي حال (ولكن قد تحقق ما اذا كان يعمل).

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