استيراد الفئات باستخدام الكلمة الأساسية "use" في PHP
تخدم الكلمة الأساسية "use" في PHP غرضًا محددًا في حل تعارضات أسماء الفئات . ليس المقصود منه استيراد الفئات، على عكس الكلمات الأساسية التقليدية "يتطلب" و"تضمين".
لفهم وظيفة الكلمة الأساسية "استخدام"، ضع في اعتبارك السيناريوهات التي توجد فيها فئات متعددة بأسماء متطابقة ضمن مساحات أسماء مختلفة . عند استخدام أداة التحميل التلقائي للتعامل مع تحميل الفئة، قد يصبح المترجم مرتبكًا وغير قادر على تحديد الفئة التي سيتم إنشاء مثيل لها. تتيح لك الكلمة الأساسية "استخدام" إزالة الغموض عن هذه المواقف عن طريق تحديد الفئة المطلوبة بشكل صريح.
على سبيل المثال، لنفترض أن لدينا فئتين باسم "Mailer" في مساحات أسماء مختلفة:
namespace SMTP; class Mailer{} namespace Mailgun; class Mailer{}
إذا حاول الكود الخاص بنا إنشاء مثيل لكلا الفئتين في وقت واحد، فسنواجه تعارضًا في اسم الفئة. لحل هذه المشكلة، يمكننا استخدام الأسماء المستعارة:
use SMTP\Mailer as SMTPMailer; use Mailgun\Mailer as MailgunMailer;
يؤدي هذا إلى تعيين أسماء مستعارة مميزة، مثل "SMTPMailer" و"MailgunMailer" للفئات. يمكننا بعد ذلك إنشاء مثيل للكائنات باستخدام هذه الأسماء المستعارة:
$smtp_mailer = new SMTPMailer; $mailgun_mailer = new MailgunMailer;
تتيح الكلمة الأساسية "use" أيضًا استخدام وظيفة التحميل التلقائي لـ PHP، "__autoload($class)." تقوم هذه الوظيفة تلقائيًا بتحميل فئة عند تنفيذ عبارة "الاستخدام"، مما يوفر آلية لتحميل الفئة بسرعة أثناء وقت التشغيل.
باختصار، في حين أن الكلمة الأساسية "استخدام" ليست مصممة في المقام الأول للاستيراد الطبقات، فهي تلعب دورًا حاسمًا في حل تعارضات أسماء الفئات وتسهيل استخدام فئات مختلفة بنفس الاسم.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3