Ergo\Registry::trigger PHP Method

trigger() public method

Sets a closure that is called on a lookup miss
public trigger ( $keys, $callable )
    public function trigger($keys, $callable)
    {
        $keys = is_array($keys) ? $keys : array($keys);
        // add triggers for all arguments
        foreach ($keys as $key) {
            $this->_triggers[$key] = $callable;
        }
        return $this;
    }

Usage Example

Example #1
0
 public function testTriggerTrumpsClosureOnMiss()
 {
     $registry = new Registry();
     $registry->trigger('my_key', function ($r) {
         $r->register('my_key', (object) array('source' => 'trigger'));
     });
     $result = $registry->lookup('my_key', function () {
         return (object) array('source' => 'closure');
     });
     $this->assertEquals($result->source, 'trigger');
 }