DomainComponent
[2.1.4] - 2020-09-01
이 라이브러리는 도메인 설계 개발 방식으로 응용 프로그램을 구축하는 데 도움이되는 설계입니다.
잘 통합되어 있습니다.
그러나 모든 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' |