هذه المكتبة هي تصميم لمساعدتك على بناء تطبيقك من خلال نهج تطوير تصميم المجال.
تم دمجها بشكل جيد مع:
ولكن يمكنك استخدامه مع أي مشروع PHP.
فيما يلي بعض الشرائح التي تشرح كيف نصل إلى هناك.
أحداث المجال:
يتم إنشاء هذه المكتبة للسماح لك باستخدام نماذج العقيدة كنموذج مجال. هذا له بعض التكلفة: لا يمكنك إنشاء نموذج للنطاق باليد بعد الآن. هذا يعني أنك تحتاج إلى مصنع لأي من استخدام نموذج المجال الخاص بك.
يوفر هذا المكون تطبيق Symfony Serializer والعقيدة. لاحتياجاتك الخاصة ، يجب عليك استخدام الفصل (الخدمة إذا كنت تستخدم الحزمة) BiigComponentDomainModelInstantiatorInstantiator
.
composer require biig/domain
class YourModel extends DomainModel
{
public const CREATION = ' creation ' ;
public function __construct ()
{
$ this -> dispatch ( new DomainEvent ( $ this ), self :: CREATION );
}
}
class DomainRule implements DomainRuleInterface
{
public function on ()
{
return YourModel :: CREATION ;
}
public function execute ( DomainEvent $ event )
{
// Do Something on your model creation
}
}
نظرًا لأن النموذج الخاص بك يحتاج إلى مرسل ، فأنت بحاجة إلى استدعاء طريقة setDispatcher()
في أي وقت تقوم فيه بإنشاء مثيل جديد لنموذجك. لتجنب القيام بذلك يدويًا ، يمكنك استخدام Instantiator
الذي توفره المكتبة.
لا يستخدم المُنشئ لإضافة المرسل لأنه في PHP يمكنك إنشاء كائنات بدون المنشئ. على سبيل المثال ، هذا ما تفعله العقيدة.
استخدم الحزمة:
<?php
// config/bundles.php
return [
// ...
Biig Component Domain Integration Symfony DomainBundle ::class => [ ' all ' => true ],
];
تعرف على المزيد حول تكامل Symfony
إصدار | حالة | الوثائق | نسخة symfony | إصدار PHP |
---|---|---|---|---|
1.x | الحفاظ عليها | V1 | '> = 3.3 && <5' | '> = 7.1' |
2.x | أحدث | V2 | '> = 4.3' | '> = 7.1' |