
HA Framework هو إطار PHP 7.1 للمهنيين الذين لديهم كتابة صارمة. إنه إطار مرن حقًا بدون صابورة ويستند إلى واجهات وبعض الحالات المحددة مسبقًا التي يمكن تغييرها في أي وقت. هذا الإطار هو حزمة بائع قابلة للتثبيت عبر الملحن مع وظيفة افتراضية صغيرة مطلوبة تلتصق بأي مكونات لتلبية متطلبات الهندسة المعمارية الموجهة للخدمة على مستوى الكود. ويمكنك إضافة هذا المفهوم إلى هذا المفهوم ، ما تحتاجه - حزم مخصصة ، ORM مخصصة ، برامج تشغيل مخصصة ...
تعتمد بنية الإطار على نوع الوصول: منطق التطبيق منفصل تمامًا عن طريقة النهج وطريقة الوصول (مثل تطبيق HTTP ، تطبيق API REST ، صفحة الهاتف المحمول ، موقع الويب ، وحدة التحكم ، ...).
يرجى قراءة الوثائق الإطارية لمزيد من التفاصيل.
تثبيت
يمكن تثبيت الإطار عبر HA Project Skeleton. الإطار هو حزمة الملحن فقط ويتطلب bootstrap من هذا الهيكل العظمي البسيط.
أبرز الإطار
- استنادا إلى PHP 7.1
- الكتابة الصارمة دائمًا ، كل شيء يحتوي على واجهة ، كل شيء لديه أيضًا كتابة قياسية وكتابة قيمة الإرجاع (تخفيض تلقائيًا> حشرات المطورين بنسبة 50 ٪)
- SEO جاهز (توجيه إضافي على الحالات ، عندما تكون MVC طريقة سيئة)
- معالجة HTTP دقيقة (التحكم في الرؤوس ، فحص طريقة الطلب ، ...)
- جاهز لمصادر بيانات متعددة (دعم جيد جدًا لمثيلات متعددة من نفس النوع وأيضًا نوع مختلف من برامج التشغيل)
- عمليات Cascade IO (على سبيل المثال ، اكتب إلى SQL ، Elasticsearch ، ذاكرة التخزين المؤقت مقابل قراءة من ذاكرة التخزين المؤقت ، Elasticsearch ، SQL)
- لم يتم تنفيذ ORM الافتراضي ، معالجة البيانات مفتوحة (يمكن أن يكون لدينا كائنات معقدة للغاية يتم فيها استرداد المكونات من مصادر بيانات أخرى من البيانات الأولية)
- دعم IDE الشديد (كل شيء يتم الإكمال التلقائي ، على سبيل المثال في العاصفة PHP )
- رمز خفيف الوزن والأشكال القابلة لإعادة الاستخدام (لا توجد حزم عديمة الفائدة في الوظائف الأساسية)
- استنادًا إلى واجهات (يمكن تغيير كل شيء أو تمديده بدون إعادة كتابة التعليمات البرمجية الكبيرة)
- كل شيء على سبيل المثال ، لا يتم استخدام مكالمات ثابتة (حقن تبعية جيد جدًا)
- انخفاض الذاكرة التابعة
- مجموعات النماذج ذات حماية النوع (لا يمكن إضافة فئة EG إلى جمع المنتجات)
- نوع خاصية النموذج من نوعه
- إن الوصول إلى خصائص النموذج هو حالة غير حساسة للحالة وغير حساسة للحالة (DASH_CASE) (مفيدة جدًا للحالات التي تكون فيها حقول DB DASH_CASED وخصائص CAMELCATED ، وما إلى ذلك).
- بنية التطبيق مستقلة عن الاستخدام (نفس الوظيفة مع طرق الوصول المختلفة وتقديمها ، مثل API ، صفحة الويب ، صفحة الهاتف المحمول ، وصول Shell ، ... ؛ ليس مجرد موقع ويب ، يمكن أن يكون Webiste جزءًا صغيرًا من مشروعنا)
- إصدار الوظائف (يمكن للمشروع نفسه أن يعمل مع فصول الإصدار حسب البيئة)
- يمكن تكوين كل شيء في ملفات التكوين ويتم بناء التطبيق من ملف التكوين (وهو يعمل بشكل مشابه مثل Docker-corm.yml )
- سلسلة محاكاة [] ، int [] ، مجموعات تعويم [] ، منطقي [] للتحقق من نوع الصفيف في PHP