Это заметно как большой лоснящийся пузырик -- его много, но всем же видно что внутри пусто.
На самом деле это просто моя точка зрения, что не нужно стремиться к внешнему подобию (кроме исключительных случаев), а вот к образу мышления -- вполне.
прочитал топик и упал пацтул. ибо на работе на совершенно необъяснимые глюки сабжа насмотрелся. чего стоит хотя бы _пропуск_ интерпретатором циклов foreach() при некоторых условиях.
версия ПХП была что-то вроде 4.4.1 + Zend Optimizer с 1 по 3 pass. код сам привести не могу, довольно объемная иерархия объектов + продукт коммерческий. в 2-х словах - цикл должен был пробегать по свойствам инициализированного объекта и выполнять некоторые операции.
предварительно стояла проверка, не пустой ли объект. проблема собственно решилась заменой foreach() :) посоветовал клиенту апгрейд ПХП, и это тоже решало проблему с использованием оригинального кода. т.е. проблема была в оптимизации кода интерпретатором. аналогичные конструкции в других методах работали корректно. фикс был выполнен архитекторами проекта, которые кстати тоже довольно эмоционально высказывались по этому поводу :)
> версия ПХП была что-то вроде 4.4.1 + Zend Optimizer с 1 по 3 pass
вот и ССЗБ
Записать большими буквами: Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer, Я НИКОГДА НЕ БУДУ ИСПОЛЬЗОВАТЬ Zend Optimizer...
я его и не использую и всех отговариваю. к сожалению, множество хостеров глубоко убеждены что его наличие обязательно, и на вежливые просьбы убрать его нахрен отвечают отказом.
1. мопед не мой, т.е. клиенты покупают говнохостинг со всякими ZO, eAccelerator, и подобной неотключаемой хренью, а потом вот такие вот глюки лезут.
2. он (хостер) такой не один... что грустно. ну, для примера, возьмем тот же GoDaddy. вроде дешево и сердито? но нет, сложный софт построенный с применением ООП там периодически ловит глюки в самых неожиданных местах.
1. а вот хз. но факт, что после апгрейда PHP и проблема исчезла. по поводу левых хреней - это было не в данном конкретном случае что я описывал. там других заморочек вагон...
2. об чем и речь.... + у них на уровне операционки ресурсы жестко режутся. ладно еще если это CPU time. но вот когда через ini_set() выставляешь memory_limit на 64M, а тебя бац, и система посылает на йух на 21-ом метре - вот это как называется? :) и причем, на уровне PHP скрипта такое просто не отловить, нужна проверка на фактическую заполняемость памяти.