TriggerCaller에 약간의 유연성 추가
This commit is contained in:
@@ -50,7 +50,7 @@ abstract class TriggerCaller{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function append(ObjectTrigger $trigger){
|
function append(ObjectTrigger $trigger):self{
|
||||||
if(!$this->checkValidTrigger($trigger)){
|
if(!$this->checkValidTrigger($trigger)){
|
||||||
throw new \InvalidArgumentException('Invalid Trigger Type');
|
throw new \InvalidArgumentException('Invalid Trigger Type');
|
||||||
}
|
}
|
||||||
@@ -59,13 +59,13 @@ abstract class TriggerCaller{
|
|||||||
|
|
||||||
if(!$this->triggerListByPriority){
|
if(!$this->triggerListByPriority){
|
||||||
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
||||||
return;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
$lastKey = Util::array_last_key($this->triggerListByPriority);
|
$lastKey = Util::array_last_key($this->triggerListByPriority);
|
||||||
if($lastKey < $priority){
|
if($lastKey < $priority){
|
||||||
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
||||||
return;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(key_exists($priority, $this->triggerListByPriority)){
|
if(key_exists($priority, $this->triggerListByPriority)){
|
||||||
@@ -74,11 +74,12 @@ abstract class TriggerCaller{
|
|||||||
|
|
||||||
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
||||||
ksort($this->triggerListByPriority);
|
ksort($this->triggerListByPriority);
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
function merge(?TriggerCaller $other){
|
function merge(?TriggerCaller $other):self{
|
||||||
if($other === null){
|
if($other === null){
|
||||||
return;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
//NOTE: array_merge로 계속 가야하는가? merge가 많으면 SPL의 LinkedList가 낫지 않나?
|
//NOTE: array_merge로 계속 가야하는가? merge가 많으면 SPL의 LinkedList가 낫지 않나?
|
||||||
@@ -114,6 +115,7 @@ abstract class TriggerCaller{
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->triggerListByPriority = $newTriggerList;
|
$this->triggerListByPriority = $newTriggerList;
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
function fire(?array $env = null, $arg = null):?array{
|
function fire(?array $env = null, $arg = null):?array{
|
||||||
|
|||||||
Reference in New Issue
Block a user