getClearCaches() public method

public getClearCaches ( ) : array
return array
Example #1
0
    public function testConfig()
    {
        $xml = '<event key="core/object/modify" subject="core:domain">
  <clearCache>core/domains.created</clearCache>
  <clearCache>core/domains</clearCache>
</event>';
        $event = new Event($xml, $this->getJarves());
        $this->assertEquals('core/object/modify', $event->getKey());
        $this->assertEquals('core:domain', $event->getSubject());
        $this->assertEquals(['core/domains.created', 'core/domains'], $event->getClearCaches());
        $this->assertEquals($xml, $event->toXml());
        $eventArray = ['key' => 'core/object/modify', 'subject' => 'core:domain', 'clearCaches' => ['core/domains.created', 'core/domains']];
        $event = new Event($eventArray, $this->getJarves());
        $this->assertEquals('core/object/modify', $event->getKey());
        $this->assertEquals('core:domain', $event->getSubject());
        $this->assertEquals(['core/domains.created', 'core/domains'], $event->getClearCaches());
        $this->assertEquals($eventArray, $event->toArray());
        $this->assertEquals($xml, $event->toXml());
    }
Example #2
0
 /**
  * @param Event $eventConfig
  * @param GenericEvent $event
  */
 public function call(Event $eventConfig, $event)
 {
     if ($eventConfig->getCalls()) {
         foreach ($eventConfig->getCalls() as $call) {
             call_user_func_array($call, [$event]);
         }
     }
     if ($eventConfig->getClearCaches()) {
         foreach ($eventConfig->getClearCaches() as $cacheKey) {
             $this->cacher->invalidateCache($cacheKey);
         }
     }
     if ($eventConfig->getServiceCalls()) {
         foreach ($eventConfig->getServiceCalls() as $serviceCall) {
             list($service, $method) = explode('::', $serviceCall);
             if ($this->container->has($service)) {
                 $service = $this->container->get($service);
                 $service->{$method}($event);
             }
         }
     }
 }