ملحقات العقيدة السلوكية
تحتوي هذه الحزمة على امتدادات لـ Doctrine ORM وMongoDB ODM التي توفر وظائف أو أدوات جديدة لاستخدام Doctrine بشكل أكثر كفاءة. يمكن ربط هذه السلوكيات بسهولة بنظام أحداث Doctrine والتعامل مع السجلات التي يتم مسحها بطريقة سلوكية.
تم إصدار ملحقات العقيدة 3.0
يركز الإصدار 3.0 على تحديث هذه الحزمة لـ PHP اليوم. وهذا يشمل:
- تجاوز الحد الأدنى من متطلبات إصدار PHP وDoctrine والتبعيات الأخرى
- تنفيذ الدعم لأحدث حزم Doctrine MongoDB والحزم المشتركة
- تحديث مجموعة الاختبار وإضافة معايير التعليمات البرمجية والنمط وأدوات البناء الأخرى المطلوبة
- تنظيف الوثائق والكود والتعليقات وما إلى ذلك.
اقرأ مستند الترقية لمزيد من المعلومات.
تثبيت
composer require gedmo/doctrine-extensions
الترقية
ملحقات
ORM وMongoDB ODM
- يمكن اللوم عليه - يقوم بتحديث السلسلة أو الحقول المرجعية عند الإنشاء والتحديث وحتى تغيير الخاصية باستخدام سلسلة أو كائن (على سبيل المثال، المستخدم).
- قابل للتسجيل - يساعد على تتبع التغييرات وتاريخ الكائنات، ويدعم أيضًا إدارة الإصدارات.
- Sluggable - يحول حقولك المحددة إلى سبيكة ثابتة فريدة واحدة
- الطابع الزمني - يقوم بتحديث حقول التاريخ عند الإنشاء والتحديث وحتى تغيير الخاصية.
- قابل للترجمة - يمنحك حلاً مفيدًا للغاية لترجمة السجلات إلى لغات مختلفة. سهل الإعداد، وأسهل للاستخدام.
- الشجرة - تعمل على أتمتة عملية التعامل مع الشجرة وإضافة بعض الوظائف الخاصة بالشجرة في المستودع. ( إغلاق أو مجموعة متداخلة أو مسار مادي ) (يدعم MongoDB ODM المسار المادي فقط)
أو آر إم فقط
- IpTraceable - موروث من Timestampable، يقوم بتعيين عنوان IP بدلاً من الطابع الزمني
- SoftDeleteable - يسمح بإزالة السجلات ضمنيًا
- قابل للفرز - يجعل أي مستند أو كيان قابلاً للفرز
- قابل للتحميل - يوفر معالجة تحميل الملفات في حقول الكيان
MongoDB ODM فقط
- المراجع - يدعم ربط الكيانات في المستندات والعكس
- ReferenceIntegrity - يقيد مراجع مستندات ODM MongoDB
تدعم جميع الإضافات تعيين السمات و XML والتعليق التوضيحي (المهمل). يمكن تنفيذ برامج تشغيل الخرائط الإضافية بسهولة باستخدام ملحق التعيين للتعامل مع تعيين بيانات التعريف الإضافية.
توافق الإصدار
- DBAL:
^3.2
(لجميع الامتدادات) أو ^4.0
(لجميع الامتدادات، باستثناء Loggable ) - ORM:
^2.14
أو ^3.0
- تصميم MongoDB:
^2.3
إذا كنت تقوم بإعداد Entity Manager بدون إطار عمل، فراجع المثال لمنع مشكلات مثل #1310
تعيين XML
يجب أن يكون تعيين XML في مساحة اسم مختلفة، ومساحة الاسم المعلنة لامتدادات Doctrine هي http://gediminasm.org/schemas/orm/doctrine-extensions-mapping لذا تبدو العقدة الجذرية الآن كما يلي:
< doctrine-mapping xmlns = " http://doctrine-project.org/schemas/orm/doctrine-mapping "
xmlns : gedmo = " http://gediminasm.org/schemas/orm/doctrine-extensions-mapping " >
...
</ doctrine-mapping >
تم إصدار مخططات xsd لتعيين XML أيضًا ويمكن استخدامها بواسطة لاحقة الإصدار:
- أحدث إصدار - http://gediminasm.org/schemas/orm/doctrine-extensions-mapping
- الإصدار 2.2.x - http://gediminasm.org/schemas/orm/doctrine-extensions-mapping-2-2
- الإصدار 2.1.x - http://gediminasm.org/schemas/orm/doctrine-extensions-mapping-2-1
تشغيل الاختبارات
لإعداد الاختبارات وتشغيلها، اتبع الخطوات التالية:
- قم بتثبيت Docker وتأكد من
docker compose
- من جذر المشروع، قم بتشغيل
docker compose up -d
لبدء الحاويات في الوضع الخفي - أدخل الحاوية عبر
docker compose exec php bash
(أنت الآن في الدليل الجذر: /var/www
) - قم بتثبيت تبعيات الملحن عبر
composer install
- قم بإجراء الاختبارات:
vendor/bin/phpunit
تشغيل المثال
لإعداد المثال وتشغيله، اتبع الخطوات التالية:
- انتقل إلى الدليل الجذر للملحقات
- تحميل الملحن
- تثبيت مكتبات التطوير:
composer install
- قم بتحرير
example/em.php
وقم بتكوين قاعدة البيانات الخاصة بك أعلى الملف - تشغيل:
php example/bin/console
أو php example/bin/console
لأوامر وحدة التحكم - تشغيل:
php example/bin/console orm:schema-tool:create
لإنشاء المخطط - تشغيل:
php example/bin/console app:print-category-translation-tree
لتشغيل المثال لطباعة شجرة ترجمة الفئة
المساهمين
شكرًا لجميع المشاركين في تطوير هذه الملحقات الرائعة للعقيدة!
وخاصة أولئك الذين يقومون بإنشاء ملحقات جديدة والحفاظ عليها:
- لوكاس بوتش lbotsch
- غوستافو أدريان مخدر بشكل مريح
- بوسيكيت جولز جوردون لندن
- كودرياشوف كونستانتين إيفرتزيت
- ديفيد بوخمان dbu