<?php

require_once 'tutorial_autoload.php';
class HelloClass
{
    public function hello()
    {
        echo "Hello world\n";
    }
}
$signals = new ezcSignalCollection();
$signals->connect("sayHello", array(new HelloClass(), "hello"));
$signals->emit("sayHello");
<?php

require_once 'tutorial_autoload.php';
class HelloClass
{
    public static function hello()
    {
        echo "Hello world\n";
    }
}
$signals = new ezcSignalCollection();
$signals->connect("sayHello", array("HelloClass", "hello"));
$signals->emit("sayHello");
Exemplo n.º 3
0
<?php

// Connect signals to slots.
$signals = new ezcSignalCollection();
$receiver = new MyReceiver();
$signals->connect('afterExecutionStarted', array($receiver, 'afterExecutionStarted'));
$signals->connect('afterExecutionSuspended', array($receiver, 'afterExecutionSuspended'));
$signals->connect('afterExecutionResumed', array($receiver, 'afterExecutionResumed'));
$signals->connect('afterExecutionCancelled', array($receiver, 'afterExecutionCancelled'));
$signals->connect('afterExecutionEnded', array($receiver, 'afterExecutionEnded'));
$signals->connect('beforeNodeActivated', array($receiver, 'beforeNodeActivated'));
$signals->connect('afterNodeActivated', array($receiver, 'afterNodeActivated'));
$signals->connect('afterNodeExecuted', array($receiver, 'afterNodeExecuted'));
$signals->connect('afterRolledBackServiceObject', array($receiver, 'afterRolledBackServiceObject'));
$signals->connect('afterThreadStarted', array($receiver, 'afterThreadStarted'));
$signals->connect('afterThreadEnded', array($receiver, 'afterThreadEnded'));
$signals->connect('beforeVariableSet', array($receiver, 'beforeVariableSet'));
$signals->connect('afterVariableSet', array($receiver, 'afterVariableSet'));
$signals->connect('beforeVariableUnset', array($receiver, 'beforeVariableUnset'));
$signals->connect('afterVariableUnset', array($receiver, 'afterVariableUnset'));
// Set up database connection.
$db = ezcDbFactory::create('mysql://test@localhost/test');
// Set up workflow definition storage (database).
$definition = new ezcWorkflowDatabaseDefinitionStorage($db);
// Load latest version of workflow named "Test".
$workflow = $definition->loadByName('Test');
// Set up database-based workflow executer.
$execution = new ezcWorkflowDatabaseExecution($db);
// Pass workflow object to workflow executer.
$execution->workflow = $workflow;
// Register SignalSlot workflow engine plugin.
<?php

require_once 'tutorial_autoload.php';
function hello()
{
    echo "Hello world\n";
}
$signals = new ezcSignalCollection();
$signals->connect("sayHello", "hello");
$signals->emit("sayHello");