Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon كيف يمكنني التمييز بين المفردات التي تستمر وتلك التي لا في أوكتان


كيف يمكنني التمييز بين المفردات التي تستمر وتلك التي لا في أوكتان


للتمييز بين المفردات التي لا تزال قائمة وتلك التي لا في لارافيل أوكتان ، تحتاج إلى فهم كيف يتعامل أوكتان مع مثيلات المفرد وكيفية حلها. فيما يلي النقاط الرئيسية التي يجب مراعاتها:

singletons التي تستمر

1. المفرد في مقدمي الخدمات: سيستمر المفردات التي يتم حلها داخل مزودي الخدمة ، وتحديداً في أساليب "التمهيد" أو "التسجيل" ، عبر الطلبات. وذلك لأن هذه المفردات يتم حلها أثناء تمهيد التطبيق ويتم تخزينها في ذاكرة التخزين المؤقت للحاوية.

2. الخدمات الدافئة: يمكنك إضافة Singletons إلى صفيف "دافئ" في ملف تكوين الأوكتان للتأكد من حلها واستمرارها أثناء تمهيد التطبيق. بهذه الطريقة ، ستكون هذه المفردات متاحة عبر جميع الطلبات.

singletons التي لا تستمر

1. المفرد في التعامل مع الطلب: لن يستمر المفردات التي يتم حلها أثناء التعامل مع الطلب. يتم بناؤها على كل طلب ولا يتم تخزينها في ذاكرة التخزين المؤقت للحاوية.

2. خدمات التدفق: إذا كان لديك حزمة تسجل وحل Singleton داخل مزود خدمة وتريد مسح هذا المثيل قبل كل طلب ، فيمكنك إضافته إلى صفيف "Flush` في ملف تكوين الأوكتان. هذا يضمن إزالة المفرد من الحاوية بعد التعامل مع كل طلب.

أفضل الممارسات

1. استخدم عمليات الاسترجاعات: عند تسجيل المفردات ، استخدم عمليات الاسترجاعات بدلاً من المثيل الفعلي للتأكد من حلها مرة واحدة فقط.

2. تجنب الخصائص الثابتة: تجنب استخدام خصائص ثابتة في المفردات الخاصة بك لأنها يمكن أن تؤدي إلى تسرب الذاكرة والاستمرار عبر الطلبات.

3. استخدم الثوابت: استخدم الثوابت بدلاً من الخصائص الثابتة عندما يكون ذلك ممكنًا لضمان عدم الاستقرار.

4. مثيل طلب: عند حل المفردات ، تمرير رد اتصال لضمان حل مثيل الطلب بشكل صحيح.

5. مستودع التكوين: استخدم وظيفة "التكوين ()" بدلاً من حقن مستودع التكوين لضمان حلها بشكل صحيح.

من خلال اتباع أفضل الممارسات وفهم كيفية تعامل Octane مع حالات Singleton ، يمكنك إدارة وتمييز فعليًا بين المفردات التي تستمر وتلك التي لا في تطبيق Laravel الخاص بك على Octane [2] [4] [5].

الاستشهادات:
[1] https://laracasts.com/discuss/channels/laravel/singletone-not-working-in-laravel
[2] https://divinglaravel.com/laravel-octane-bootstrapping-the-application-andling-harling-requests
[3]
[4] https://betterprogramming.pub/the-downsides-of-coding-with-laravel-octane-17f4a7a4ea85؟gi=d8afa3954408
[5] https://www.prismetric.com/laravel-octane/