<?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");
<?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");