Проблемы были не только с инфраструктурой, но и с комьюнити и самим языком. Пхп это костыль на костыле со множеством ошибок и неудобным синтаксисом.
С инфраструктурой вроде как стало получше.
Давай проверим, изменилось ли что-то в самом языке. Вот помню в 5.3 ошибка при определении функции внутри другой функции.
function foo() {
function bar() {
echo 'bar';
}
bar();
}
foo();
foo();
В 5.6.2 ничего не изменилось:
bar<br />
<b>Fatal error</b>: Cannot redeclare bar() (previously declared in [...][...]:3) in <b>[...][...]</b> on line <b>2</b><br />
Если так нельзя делать, то надо сразу выдавать ошибку, а если можно то должно работать. Тут какое-то промежуточное состояние, толи можно (но вызывать можно только один раз), толи нельзя. Такая конструкция работает даже в долбанном яваскрипте.
Ну и вообще в пхп принят подход, что задокументированная ошибка, считается фичей.
Со стороны разработчика, конечно хочется работать с более удобным и мощным инструментом. Со стороны заказчика это всегда вопрос компромисов, зависит от многих факторов.