Changeset 1819

Show
Ignore:
Timestamp:
04/07/06 05:23:45 (11 months ago)
Author:
demian
Message:

Code for Delegate class simplified

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/0.6-bugfix/CHANGELOG.txt

    r1818 r1819  
    1010 
    1111IMPROVEMENTS 
     1207-04-06    Code for Delegate class simplified to work with installations where PHP 
     13            is compiled with --disable-reflection (jbpros) 
    121406-04-06    Improved pre and post-process workflow 
    131506-04-06    Added the ability to create a broadcast message that will appear on 
  • branches/0.6-bugfix/lib/SGL/Delegator.php

    r1766 r1819  
    22/* Reminder: always indent with 4 spaces (no tabs). */ 
    33// +---------------------------------------------------------------------------+ 
    4 // | Copyright (c) 2005, Demian Turner                                         | 
     4// | Copyright (c) 2006, Demian Turner                                         | 
    55// | All rights reserved.                                                      | 
    66// |                                                                           | 
     
    3131// |                                                                           | 
    3232// +---------------------------------------------------------------------------+ 
    33 // | Seagull 0.5                                                               | 
     33// | Seagull 0.6                                                               | 
    3434// +---------------------------------------------------------------------------+ 
    3535// | Delegator.php                                                             | 
     
    4949    function __call($methodName, $parameters) 
    5050    { 
    51         $delegated = false; 
     51//        $delegated = false; 
    5252        foreach ($this->aDelegates as $delegate) { 
    53             $class   = new ReflectionClass($delegate); 
    54             $methods = $class->getMethods(); 
    55  
    56             foreach ($methods as $method) { 
    57                if ($methodName == $method->getName()) { 
    58                     $delegated = true; 
    59  
    60                     return call_user_func_array( 
    61                         array($delegate, $method->getName()), $parameters); 
    62                } 
     53//            $class   = new ReflectionClass($delegate); 
     54//            $methods = $class->getMethods(); 
     55// 
     56//            foreach ($methods as $method) { 
     57//               if ($methodName == $method->getName()) { 
     58//                    $delegated = true; 
     59// 
     60//                    return call_user_func_array( 
     61//                        array($delegate, $method->getName()), $parameters); 
     62//               } 
     63//            } 
     64            if (is_callable(array($delegate, $methodName))) { 
     65                return call_user_func_array( 
     66                    array($delegate, $methodName), $parameters); 
    6367            } 
    6468        }