هل Symfony التلقائي ذكي بما يكفي لتحميل الملفات اللازمة فقط؟

StackOverflow https://stackoverflow.com/questions/2339366

  •  22-09-2019
  •  | 
  •  

سؤال

أعلم أن ملفات التحميل التلقائي spl_auto_register، لكن هل هو ذكي بما فيه الكفاية؟

فقط لو A.Php هناك حاجة للتحميل ، هل سيتم تحميله أيضًا ب?

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

المحلول

سيقوم Autoloader بتحميل الملفات الضرورية فقط لإنشاء فئة مطلوبة.

نصائح أخرى

يعمل Autoloader عن طريق تخزين مجموعة من أزواج القيمة الرئيسية مثل

classname => /full/path/to/class

في Symfony 1.3/1.4 يتم إنشاء ملفان ذاكرة التخزين المؤقت. واحد للصفوف الأساسية ، التي أنشأتها sfcoreautoload ، وتخزينها في /cache/project.autoload. بالنسبة للدروس التي يتم تحميلها تلقائيًا من داخل دليل المشروع الخاص بك ، يتم تخزين مجموعة من أزواج القيمة الرئيسية في /cache/_app_/_env_/config/config_autoload.yml.php. يتم إنشاء هذا الملف بواسطة معالج التكوين SfautoloadConfighandler.

بعض النقاط المفيدة التي يجب تذكرها:

  • لا يتم تحميل جميع الفصول داخل مشروعك ، يتم تحديد الملفات المحملة التلقائية بواسطة Autoload.yml (في sf_lib_dir/config/config). يمكنك إنشاء Autoload.yml الخاص بك وإسقاطه في Project Config Dir (أو حتى Application Config dir على ما أعتقد).
  • عند التشغيل في بيئة Dev ، إذا لم يكن من الممكن تحميل الفصل الدراسي ، فسيقوم Symfony بإعادة بناء ذاكرة التخزين المؤقت Autoload على أمل العثور على الملف الذي يفترضه أمر جديد. هذا يمكن أن يجعل تطبيقك بطيئًا في بعض حالات الاستخدام ، لذا استخدم sfautoloadagain :: unregister ().
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top