سؤال

أريد أن تمديد, ، ليس فقط إنشاء مثيل جديد لفصل جالسه في دليل البائعين. لقد غوغل وقرأت المستندات ولكني لا أرى أي دعم لذلك.

هل يمكنني القيام باستيراد تطبيق من فئة الطرف الثالث ، ثم اكتب الفصل الممتد متبوعًا بمكون يستخدم فئة طفلي؟

بمعنى آخر

/* vendors/yahooapi/yahoo.class.php */
class YahooAPI {
     var $key = 'demo';
}

/* controllers/components/yahoo.php */
App::import("Vendor", "YahooAPI", array("file"=>"yahooapi.class.php"));

class Yahoov2 extends YahooAPI {
     var $key = 'newKey';
     function go() {}
}

YahooComponent extends Object {
     function goFaster() {
         $a = new Yahoov2;
         return $a->go() * 2;
     } 

}

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

المحلول

في الأساس ، سأخبرك كيف سأفعل ذلك (على الأقل فعلت ذلك في بعض المشاريع):

1 أضف بائعي البائع/Yahooapi/yahoo.class.php كما فعلت

2 قم بإنشاء ملف داخل البائعين/ yahooapi/ أو خارج البائعين/ والذي سيقوم بتمديد فئة البائع الأصلية دعنا نقول البائعين/ yahoov2.php أي

include_once('.../vendors/yahooapi/yahoo.class.php');
class Yahoov2 extends YahooAPI {
 var $key = 'newKey';
 function go() {}
}

3 وأخيراً قم بتضمينها في المكون الذي تم ملحقه كما فعلت في وحدة التحكم الخاصة بك.

أعتقد أن تمديد الفصل في وحدة التحكم الخاصة بك مباشرة سيؤدي المهمة ، لكنها في الحقيقة مسألة ذوق.

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