flaky, с РНР 5.3 всё стало гораздо лучше. Там было два, очень значитальных нововведения, которые сильно расширили возможности и изменили код. Я про пространства имён и лямбды/замыкания.
Вцелом, переносить идеи с Руthоn на РНР - дело не благодарное из-за тех же именованых аргументов, манипуляциях над АST. Да и сам подход к ООП другой, в Рython можно в рантайме, любому классу добавить метод, а в РНР так не выйдет, ибо класс != обьект.