/** * Загружает объект обменника валют */ public static function getMyCurrencyExchange(sfEvent $event) { $params = $event->getParameters(); if ($params['method'] != 'getMyCurrencyExchange') { return false; } if (!self::$myCurrencyExchange) { self::$myCurrencyExchange = new myCurrencyExchange(); $currencies = Doctrine::getTable('Currency')->createQuery()->execute(array(), Doctrine::HYDRATE_ARRAY); foreach ($currencies as $currency) { // такого не должно быть по идее, но есть :-( if ($currency['rate'] != 0) { self::$myCurrencyExchange->setRate($currency['id'], $currency['rate'], myCurrencyExchange::BASE_CURRENCY); } } } // set return value and stop chain $event->setReturnValue(self::$myCurrencyExchange); return true; }