ФорумПрограммированиеPHP для идиотов → Убить зацикливание

Убить зацикливание

  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 9 мая 2009 г. 14:39

    есть такая функция

       public static function callHandlers($type, $event, $arguments = array())
       {
           $result = false;
           
           if (isset(self::$events[$type][$event]))
           {
               foreach (self::$events[$type][$event] as $key => $handler)
               {
                   if (is_callable($handler))
                   {
                       Events::callHandlers('debug', 'error', array('sss'));
                       $result = call_user_func($handler, $arguments);
                   }
                   else
                   {
                       self::removeHandler($type, $event, $handler[1], $handler[0]);
                       Events::callHandlers('debug', 'error', array('handler_not_callable', $key, $type . '::' . $event));
                   }
               }
           }
           return $result;
       }

    так вот она зацикливается из за Events::callHandlers('debug', 'error', array('sss')); (стр. 11).. оно то и понятно, функция бесконечно пытается вызвать сама себя. вариант решения - добавить к callHandlers еще один параметр $log = true, а при вызове callHandlers внутри самой себя, проверять на $log === true и ставить этот параметр в false, короче


       public static function callHandlers($type, $event, $arguments = array(), $log = true)
       {
           $result = false;
           
           if (isset(self::$events[$type][$event]))
           {
               foreach (self::$events[$type][$event] as $key => $handler)
               {
                   if (is_callable($handler))
                   {
                       if ($log)
                       {
                           Events::callHandlers('debug', 'error', array('sss'), false);
                       }
                       
                       $result = call_user_func($handler, $arguments);
                   }
                   else
                   {
                       self::removeHandler($type, $event, $handler[1], $handler[0]);
                       Events::callHandlers('debug', 'error', array('handler_not_callable', $key, $type . '::' . $event));
                   }
               }
           }
           return $result;
       }


    тогда в этой хери зацикливания не будет, но будет зацикливаться $result = call_user_func($handler, $arguments);
    хрен его знает почему.. помогите решить проблему)
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 9 мая 2009 г. 15:24, спустя 45 минут

    а забейте, тут зацикливание происходит не в функции (после того как я добавил $log = true и т.д.) а в другом месте, так что я просто убрал это строчку (11)
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 9 мая 2009 г. 15:38, спустя 14 минут 38 секунд

    блоги на пыха ру
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 9 мая 2009 г. 21:54, спустя 6 часов 15 минут 45 секунд


    блоги на пыха ру
    +1
    почему-то aivee всегда так :) в чем же дело?
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 10 мая 2009 г. 11:55, спустя 14 часов 45 секунд

    в чем же дело?

    блоги на пыха ру
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 мая 2009 г. 16:05, спустя 1 день 4 часа 10 минут

    пиздец. видимо айви прощ писать, кгда дублирует свой код еще куда то))

    но код ли это?! :)

    зы: блоги на пiха.ру скоро интервью с марио.
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 11 мая 2009 г. 16:18, спустя 12 минут 43 секунды

    а какой хуесос piha.ru закиберсквотил? О.о
    все умрут, а я изумруд
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 11 мая 2009 г. 16:18, спустя 19 секунд


    пиздец. видимо айви прощ писать, кгда дублирует свой код еще куда то))

    но код ли это?! :)

    зы: блоги на пiха.ру скоро интервью с марио.

    ОооООооОо
    ээээ ты че так пугаешь? я тут при чем?
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 11 мая 2009 г. 16:19, спустя 1 минуту 1 секунду


    а какой хуесос piha.ru закиберсквотил? О.о

    киберсквотеры вообще ахуели!!! вначале дуд, теперь и еще кровны домени пиха, пиздец суки! Предлагаю акцию устроить, вычислить в своем городе данных людей а дать им пизды. Акция от пыхи "Дай пизды киберквотеру"!!!
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 мая 2009 г. 16:20, спустя 1 минуту 12 секунд


    а какой хуесос piha.ru закиберсквотил? О.о
    тотже что и этот пидорский сайт под сапу сделал
    http://phpdude.ru/
    Сапожник без сапог
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 11 мая 2009 г. 16:30, спустя 9 минут 57 секунд



    а какой хуесос piha.ru закиберсквотил? О.о
    тотже что и этот пидорский сайт под сапу сделал
    http://phpdude.ru/
    фу бля… :( жалко такой домен…
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 11 мая 2009 г. 16:31, спустя 53 секунды

    я себе кстати спиздить хочу mario.ru, но не знаю как :( думаю попробывать его выкупить когда время кончится у него.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 мая 2009 г. 16:33, спустя 1 минуту 41 секунду

    жалко пиздюков, которые это делают.

    уже давно в голове идея бродит прикупить автомат или базуку и тп, и отстреливать нахуй русские 9ки, 10ки + оставлять надпись (надо было купить обычный глушитель, пидор)
    Сапожник без сапог
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 11 мая 2009 г. 16:34, спустя 1 минуту 13 секунд


    жалко пиздюков, которые это делают.

    уже давно в голове идея бродит прикупить автомат или базуку и тп, и отстреливать нахуй русские 9ки, 10ки + оставлять надпись (надо было купить обычный глушитель, пидор)
    :DD
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 11 мая 2009 г. 19:02, спустя 2 часа 27 минут 36 секунд


    пиздец. видимо айви прощ писать, кгда дублирует свой код еще куда то))


    нет у меня там дублирования.. там СИСТЕМА… =))


    но код ли это?! :)

    все не код, что не свой код XD

Пожалуйста, авторизуйтесь, чтобы написать комментарий!