تهيئة الخاصية بوظائف مجهولة: لماذا وكيف؟
كما هو مذكور في مقتطف الكود أدناه، تهيئة خاصية بوظيفة مجهولة خلال يؤدي تعريف الفئة إلى ظهور "خطأ في التحليل: خطأ في بناء الجملة، T_FUNCTION غير متوقع" في PHP. ومع ذلك، من الممكن تعيين وظائف للخصائص داخل المُنشئات، كما هو موضح في المقتطف الثاني.
// Property initialization with anonymous function error
class AssignAnonFunction {
private $someFunc = function() {
echo "Will Not work";
};
}
// Property initialization in constructor
class AssignAnonFunctionInConstructor {
private $someFunc;
public function __construct() {
$this->someFunc = function() {
echo "Does Work";
};
}
}
تنبع عدم القدرة على تهيئة الخصائص مباشرة باستخدام وظائف مجهولة من تطبيق PHP. يجب تهيئة الخصائص بقيم ثابتة قابلة للتقييم أثناء التجميع، ولا تستوفي الوظائف هذا المعيار.
على الرغم من هذا القيد، تسمح PHP بتعيين الوظائف للخصائص داخل المنشئات. وذلك لأنه يتم تنفيذ المنشئات في وقت التشغيل، مما يسمح بالتعيينات الديناميكية.
بينما يوفر هذا الحل البديل المرونة، فإن الافتقار إلى التهيئة المباشرة للخاصية باستخدام وظائف مجهولة يمكن أن يكون عيبًا في بعض السيناريوهات. فهو يتطلب تعليمات برمجية إضافية ويمكن أن يؤثر على إمكانية قراءة التعليمات البرمجية.
على الرغم من أن سبب قرار التصميم هذا في PHP لا يزال تخمينيًا إلى حد ما، إلا أن التفسيرات المحتملة تتضمن تعقيد تنفيذ مثل هذه الميزة وعدم كفاية الطلب عليها.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3