كيف قمت بتمديد فصول الطرف الثالث في CakePhP؟
-
29-09-2019 - |
سؤال
أريد أن تمديد, ، ليس فقط إنشاء مثيل جديد لفصل جالسه في دليل البائعين. لقد غوغل وقرأت المستندات ولكني لا أرى أي دعم لذلك.
هل يمكنني القيام باستيراد تطبيق من فئة الطرف الثالث ، ثم اكتب الفصل الممتد متبوعًا بمكون يستخدم فئة طفلي؟
بمعنى آخر
/* 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 وأخيراً قم بتضمينها في المكون الذي تم ملحقه كما فعلت في وحدة التحكم الخاصة بك.
أعتقد أن تمديد الفصل في وحدة التحكم الخاصة بك مباشرة سيؤدي المهمة ، لكنها في الحقيقة مسألة ذوق.
لا تنتمي إلى StackOverflow