Здравствуйте. Столкнулся с тем, что если функция определяется единожды, то сайт работает хорошо. Если кусок кода с определением моей функции вызывается несколько раз по ходу построения страницы, то это приводит к поломке сайта. Просветите, пожалуйста, где можно почитать как правильно разрулить данную ситуацию. Пробовал определение функции вынести во внешний файл, подключаемый через require_once - не помогло.
Значит еще гдето осталось определение этой функции. нужно чтобы она была определена в единственном месте в коде.
1. что за сайт 2. что за страница 3. что за функция 4. в чем конкретно заключается поломка 5. что вообще за бред. направление ясно?
грамотное решение это следовать стандартам, которые рекомендуют в каждом php-файле держать либо декларации, либо код, создающий побочный эффект: вывод, изменение данных, но не то и другое одновременно. тогда не будет нужды подключать файл с декларацией более одного раза. обходные решения это всякие if !function_exists(), if !defined или require_once.
Есть еще вариант. Автор, у тебя случайно нет функций, объявленных внутри функций? В таком случае, при вызове функции-родителя, у тебя произойдет переобъявление внутренней функции. И ошибка, разумеется. Если это ну никак нельзя разрулить иначе, просто оберни внутреннюю функцию в Код (Text): if(!function_exists("function_name")){}