Esempio n. 1
0
 public function testDispatch()
 {
     $event = new Event('banane', $this);
     $manager = new Manager();
     $this->assertEquals(array(), $manager->getSubscribers($event));
     // nix passiert
     $manager->dispatch($event);
     $subscriber = $this->getMock('Psc\\Code\\Event\\SubscriberMock', array('trigger'));
     // Set up the expectation for the update() method
     // to be called only once and with the string 'something'
     // as its parameter.
     $subscriber->expects($this->once())->method('trigger')->with($this->equalTo($event));
     /* bind unseren Subscriber an ddas Event */
     $manager->bind($subscriber, 'banane');
     $this->assertEquals(1, count($manager->getSubscribers($event)));
     /* soll dingsen */
     $manager->dispatch($event);
 }
Esempio n. 2
0
    ob_start("ob_gzhandler");
} else {
    ob_start();
}
//les managers ne renvoient QUE du json, on met donc le header de la réponse a jour
//on inclu l'autoloader
include dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'autoloader.php';
$manager = new Manager();
//on récupère la commande et la parse pour être executée
if (isset($_POST['command'])) {
    $commands = explode(':', $_POST['command']);
    $managerName = $commands[0];
    $managerCommand = $commands[1];
    //on supprime la commande de la variable globale, les managers n'ont pas a la connaitre et a l'utiliser
    unset($_POST['command']);
    //si on trouve la commande on l'execute
    if ($manager->match($managerName, $managerCommand)) {
        $manager->dispatch($_POST);
    } else {
        $response = json_encode(['result' => false, 'message' => "commande inexistante"]);
        $objectResponse = new Response(404);
        $objectResponse->write($response);
        $objectResponse->send();
    }
} else {
    $response = json_encode(['result' => false, 'message' => "Variable POST command inexistante"]);
    $objectResponse = new Response(404);
    $objectResponse->write($response);
    $objectResponse->send();
}
ob_end_clean();
Esempio n. 3
0
//variable globale pour accéder aux dossiers des managers
$GLOBALS['managers_dir'] = dirname(__FILE__);
session_start();
if ($GLOBALS['compression']) {
    ob_start("ob_gzhandler");
} else {
    ob_start();
}
//les managers ne renvoient QUE du json, on met donc le header de la réponse a jour
//header('Content-Type: application/json');
//on inclu l'autoloader
include dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'autoloader.php';
$manager = new Manager();
//on récupère la commande et la parse pour être executée
$json = json_decode($_POST['json'], true);
$command = $json['command'];
if (isset($command)) {
    $commands = explode(':', $command);
    $managerName = $commands[0];
    $managerCommand = $commands[1];
    //si on trouve la commande on l'execute
    if ($manager->match($managerName, $managerCommand)) {
        $manager->dispatch($json);
    } else {
        $response = json_encode(['result' => "commande inexistante"]);
        $objectResponse = new Response(404);
        $objectResponse->write($response);
        $objectResponse->send();
    }
}
ob_end_clean();