Esempio n. 1
0
 public function testRegisterablePlugins()
 {
     $pluginManager = new PluginManager(__DIR__ . '/Registerable', 'Zumba\\Symbiosis\\Test\\Plugin\\Registerable');
     $pluginManager->loadPlugins();
     $expectedList = ['Zumba\\Symbiosis\\Test\\Plugin\\Registerable\\TestPlugin' => 1];
     $this->assertEquals($expectedList, $pluginManager->getPluginList());
     $event1 = new Event('register.1', array('called' => 0));
     $event2 = new Event('register.2', array('called' => 0));
     $pluginManager->trigger($event1);
     $pluginManager->trigger($event2);
     $this->assertEquals(['called' => 1], $event1->data());
     $this->assertEquals(['called' => 2], $event2->data());
 }
<?php

use Zumba\Symbiosis\Plugin\PluginManager;
// Somewhere in your application bootstrap, load your plugins
PluginManager::loadPlugins('/path/to/your/plugin/directory', 'YourApp\\Plugin');