コード例 #1
0
 public function dump(EventsMap $map)
 {
     $result = "<?php\n";
     $result .= "use Intaro\\RuleEngineBundle\\Event\\Mapper\\EventMap;\n";
     $result .= "return new Intaro\\RuleEngineBundle\\Event\\Mapper\\EventsMap(\n";
     $result .= "    array(\n";
     foreach ($map->getEventMaps() as $eventMap) {
         $result .= "        '" . $eventMap->getName() . "' => new EventMap(";
         $result .= "'" . $eventMap->getName() . "','" . $eventMap->getClass() . "','" . $eventMap->getType() . "',array(";
         $i = 0;
         foreach ($eventMap->getGetters() as $method => $getterMeta) {
             $result .= ($i > 0 ? ', ' : '') . "'{$method}' => array(";
             $result .= "'field' => '" . $getterMeta['field'] . "'";
             $result .= ",'type' => '" . $getterMeta['type'] . "'";
             $result .= ",'data' => " . ($getterMeta['data'] ? 'true' : 'false') . "";
             $result .= ")";
             $i++;
         }
         $result .= "), array(";
         $i = 0;
         foreach ($eventMap->getSetters() as $method => $setterMeta) {
             $result .= ($i > 0 ? ', ' : '') . "'{$method}' => array(";
             $result .= "'field' => '" . $setterMeta['field'] . "'";
             $result .= ",'type' => '" . $setterMeta['type'] . "'";
             $result .= ",'required' => " . ($setterMeta['required'] ? 'true' : 'false') . "";
             $result .= ")";
             $i++;
         }
         $result .= ")),\n";
     }
     $result .= "    )\n";
     $result .= ");\n";
     return $result;
 }
コード例 #2
0
 public function merge(EventsMap $map)
 {
     $this->resources = array_merge($this->resources, $map->getResources());
     foreach ($map->getEventMaps() as $name => $eventMap) {
         $this->addEventMap($eventMap);
     }
 }