Changeset 12809
- Timestamp:
- 11/09/08 10:14:58 (8 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plugins/sfPropelPlugin/trunk/lib/addon/sfPropelBehavior.class.php
r11123 r12809 19 19 class sfPropelBehavior 20 20 { 21 static protected $behaviors = array(); 21 static protected 22 $loaded = array(), 23 $behaviors = array(); 22 24 23 25 static public function registerMethods($name, $callables) … … 78 80 foreach ($callables as $callable) 79 81 { 80 sfMixer::register('Base'.$class.$hook, $callable); 82 $key = 'Base'.$class.$hook.'//'.self::callableToString($callable); 83 if (!isset(self::$loaded[$key])) 84 { 85 sfMixer::register('Base'.$class.$hook, $callable); 86 self::$loaded[$key] = true; 87 } 81 88 } 82 89 } … … 85 92 foreach (self::$behaviors[$name]['methods'] as $callable) 86 93 { 87 sfMixer::register('Base'.$class, $callable); 94 $key = 'Base'.$class.'//'.self::callableToString($callable); 95 if (!isset(self::$loaded[$key])) 96 { 97 sfMixer::register('Base'.$class, $callable); 98 self::$loaded[$key] = true; 99 } 88 100 } 89 101 } 90 102 } 103 104 static protected function callableToString($callable) 105 { 106 return is_array($callable) ? (is_object($callable[0]) ? get_class($callable[0]) : $callable[0]).'::'.$callable[1] : var_export($callable, true); 107 } 91 108 }

