Changeset 19775

Show
Ignore:
Timestamp:
09/23/08 23:21:19 (4 months ago)
Author:
nowelium
Message:
 
Location:
lang/php/misc/Hermit/src/Hermit
Files:
1 removed
6 modified
1 copied

Legend:

Unmodified
Added
Removed
  • lang/php/misc/Hermit/src/Hermit/Hermit.php

    r19682 r19775  
    66class Hermit { 
    77    protected $listeners = array(); 
    8     protected $delegaters = array(); 
     8    protected $delegators = array(); 
    99    public function __construct($class = null){ 
    1010        if(is_null($class)){ 
     
    1616    } 
    1717    public function __call($name, $parameters = array()){ 
    18         if(isset($this->delegater[$name])){ 
    19             return self::__request($this->delegater[$name], $name, $parameters); 
     18        if(isset($this->delegators[$name])){ 
     19            $delegator = $this->delegators[$name]; 
     20            return self::__request($delegator, $name, $parameters); 
     21        } 
     22        if(isset($this->listeners[$name])){ 
     23            $response = self::__request($this->proxy, $name, $parameters); 
     24            $listeners = $this->listeners[$name]; 
     25            foreach($listeners as $listener){ 
     26                self::__request($listener, $name, array($response)); 
     27            } 
     28            return $response; 
    2029        } 
    2130        return self::__request($this->proxy, $name, $parameters); 
    2231    } 
    23     protected static function __request(HermitProxy $hermit, $name, array $params){ 
    24         return $hermit->request($name, $params); 
     32    protected static function __request(HermitProxy $proxy, $name, array $params){ 
     33        return $proxy->request($name, $params); 
    2534    } 
    2635    protected static function __create($targetClass){ 
  • lang/php/misc/Hermit/src/Hermit/HermitAutoloader.php

    r19426 r19775  
    5555 
    5656HermitAutoloader::initialize(); 
     57 
  • lang/php/misc/Hermit/src/Hermit/HermitDaoManager.php

    r19682 r19775  
    11<?php 
    22 
     3/** 
     4 * @auhtor nowelium 
     5 */ 
    36abstract class HermitDaoManager { 
    47    private static $daoClasses = array(); 
  • lang/php/misc/Hermit/src/Hermit/HermitDataSourceManager.php

    r19682 r19775  
    11<?php 
    22 
     3/** 
     4 * @author nowelium 
     5 */ 
    36abstract class HermitDataSourceManager { 
    47    private static $default; 
  • lang/php/misc/Hermit/src/Hermit/HermitListener.php

    r19344 r19775  
    11<?php 
    22 
    3 abstract class HermitListener { 
     3/** 
     4 * @author nowelium 
     5 */ 
     6abstract class HermitListener extends Hermit { 
     7    public static function listen(Hermit $hermit, $methodName, HermitResponder $responder){ 
     8        if(!isset($hermit->listeners[$methodName])){ 
     9            $hermit->listeners[$methodName] = array(); 
     10        } 
     11        $hermit->listeners[$methodName][] = $responder; 
     12    } 
     13    public static function delegate(Hermit $hermit, $methodName, HermitDelegator $delgator){ 
     14        $hermit->delegators[$methodName] = $delegator; 
     15    } 
    416} 
  • lang/php/misc/Hermit/src/Hermit/HermitResponder.php

    r19344 r19775  
    11<?php 
    22 
    3 class HermitResponder { 
     3/** 
     4 * @author nowelium 
     5 */ 
     6class HermitResponder implements HermitProxy { 
    47    private $target; 
    58    private $methodName; 
     
    811        $this->methodName = $methodName; 
    912    } 
    10     public function respond($response){ 
    11         return call_user_func_array($this->target, $this->methodName, array($response)); 
     13    public function request($name, array $response){ 
     14        return call_user_func_array(array($this->target, $this->methodName), array($response)); 
    1215    } 
    1316} 
  • lang/php/misc/Hermit/src/Hermit/HermitTransactionManager.php

    r19344 r19775  
    11<?php 
    22 
     3/** 
     4 * @author nowelium 
     5 */ 
    36abstract class HermitTransactionManager { 
    47    private static $transactionScripts = array();