هل هناك طريقة لمحاكاة الأسلوب السحري __call() الخاص بـ PHP5 في PHP4؟
-
09-06-2019 - |
سؤال
PHP5 لديه "طريقة سحرية" __call()
يمكن تعريفها في أي فئة يتم استدعاؤها عند استدعاء طريقة غير محددة - وهي تعادل تقريبًا طريقة روبي method_missing
أو بيرل AUTOLOAD
.هل من الممكن القيام بشيء كهذا في الإصدارات القديمة من PHP؟
المحلول
هذا المقال، استخدام طريقة التحميل الزائد في PHP 4 قد يساعدك ذلك على DevSed.
نصائح أخرى
الشيء الأكثر أهمية الذي كنت أفتقده هو ذلك __call
موجود في PHP4، ولكن يجب عليك تمكينه على أساس كل فئة عن طريق الاتصال overload()
, ، كما رأينا في مستندات PHP هنا .لسوء الحظ، تختلف تواقيع الدالة __call() بين PHP4 وPHP5، ولا يبدو أن هناك طريقة لإنشاء تطبيق سيتم تشغيله في كليهما.
أتذكر استخدامه، والقليل من البحث على Google يشير إلى ذلك
function __call($method_name, $parameters, &$return)
{
$return_value = "You called ${method_name}!";
}
كوظيفة عضو سوف تقوم بهذه المهمة.
لا تنتمي إلى StackOverflow