В то время, как народ начал потихоньку переезжать на 5.3, незаметно приблизился новый PHP 5.4
Что радует, так это наличие в дереве портов этой версии, возможно hard-masked.
Можно успокоить себя мыслью о том, что 5.3 была переходной версией, вносящая кардинальные перемены и это давало нам шанс перестроить свою архитектуру в правильное русло. Это отчасти так, но те кто остается на ветке 5.2, надеясь, что 5.4 или 6, 7 будет круче и тогда они честно перейдут сразу в новый мир пушистых зверьков, вероятно находятся в некотором заблуждении.
5.3 был сделан как раз для того, чтобы можно было с минимальными потерями перебраться на новые версии, потому как дальше терпеть эту архитектуру нет никаких сил. Ход конем оправдан в некоторых ситуациях, но мы имеем дело в основном с эволюционированием плавными итерациями. И цена которую придется заплатить более поздним переходом будет высока.
Среди кардинальных проблем перехода на новые версии PHP являются:
Задаваясь вопросом о характерных признаках правильно 5.3-арзитектуры можно отметить следующие:
Что делать?
Ответ прост: думать, рефакторить, думать, читать, изучать, придумывать и кодить. Основная проблема это определение приоритетов. Нужно строить систему таким образом, в первую очередь реализуя то,без чего система бессмысленна. Это как правило функционал. Остальное приложится.
Итак что нового в 5.4?
Много нового в общем.
В настоящий момент: traits (типа примеси) , встроенный веб-сервер, значительные удобства работы с массивами типа в стиле jquery, замыкания в классах и улучшенный контекст их работы и что-то там еще.
http://jburrows.wordpress.com/2011/12/17/what-to-look-for-in-php-5-4-0/
миграция с 5.3 на 5.4: http://php.net/manual/en/migration54.php (документ в разработке)
что хотелось бы видеть в новом php?
побольше функциональщины
некоторые возможности, приближающиеся к erlang
tuples, lists
"прозрачный" интерфейс взаимодействия с расширениями и их разработка
удобство интеграции в дистрибутивы
у меня накопилось множество ссылок по материалам php, php53
http://www.delicious.com/dancecodes/php
http://www.delicious.com/dancecodes/php53
http://www.delicious.com/dancecodes/php54
Что радует, так это наличие в дереве портов этой версии, возможно hard-masked.
Можно успокоить себя мыслью о том, что 5.3 была переходной версией, вносящая кардинальные перемены и это давало нам шанс перестроить свою архитектуру в правильное русло. Это отчасти так, но те кто остается на ветке 5.2, надеясь, что 5.4 или 6, 7 будет круче и тогда они честно перейдут сразу в новый мир пушистых зверьков, вероятно находятся в некотором заблуждении.
5.3 был сделан как раз для того, чтобы можно было с минимальными потерями перебраться на новые версии, потому как дальше терпеть эту архитектуру нет никаких сил. Ход конем оправдан в некоторых ситуациях, но мы имеем дело в основном с эволюционированием плавными итерациями. И цена которую придется заплатить более поздним переходом будет высока.
Среди кардинальных проблем перехода на новые версии PHP являются:
- бардак подключаемых модулей через include-hell (читайте тут: http://talks.php.net/show/w2e09 )
- возврат значений по ссылке
- строгий контроль ошибок
- глобальные имена
- пространство имен
- консервативность пакетных систем дистрибутивов
- тонны быдло-кода и вместе с быдло-фреймворками не готовые к переходу на 5.3+
- ущербность некоторых ключевых архитектурных решений в самом движке PHP
- pear-hell
Задаваясь вопросом о характерных признаках правильно 5.3-арзитектуры можно отметить следующие:
- 99% использование splautoload
- 99% использование итераторов
- активное применение "замыкание" closure
- spl
- активное применение непрерывного цикла интеграции и разработки в купе с юнит-тестами и гитом, влкючая подъем рабочих юнит тестов одним "пинкомy" как говорится "заводится с пол-оборота"
Что делать?
Ответ прост: думать, рефакторить, думать, читать, изучать, придумывать и кодить. Основная проблема это определение приоритетов. Нужно строить систему таким образом, в первую очередь реализуя то,без чего система бессмысленна. Это как правило функционал. Остальное приложится.
Итак что нового в 5.4?
Много нового в общем.
В настоящий момент: traits (типа примеси) , встроенный веб-сервер, значительные удобства работы с массивами типа в стиле jquery, замыкания в классах и улучшенный контекст их работы и что-то там еще.
http://jburrows.wordpress.com/2011/12/17/what-to-look-for-in-php-5-4-0/
миграция с 5.3 на 5.4: http://php.net/manual/en/migration54.php (документ в разработке)
что хотелось бы видеть в новом php?
побольше функциональщины
некоторые возможности, приближающиеся к erlang
tuples, lists
"прозрачный" интерфейс взаимодействия с расширениями и их разработка
удобство интеграции в дистрибутивы
у меня накопилось множество ссылок по материалам php, php53
http://www.delicious.com/dancecodes/php
http://www.delicious.com/dancecodes/php53
http://www.delicious.com/dancecodes/php54