Показаны сообщения с ярлыком php54. Показать все сообщения
Показаны сообщения с ярлыком php54. Показать все сообщения

четверг, 12 июля 2012 г.

Начальные материалы про PHP 5.5


Появились первые спецификации и обсуждения PHP 5.5 в статусе предложений.

Кратко:
Насчет generators очень заманчиво, хотя это из-за сильного влияния в мире python и всеобщего движения в сторону функционального программирования... Но пока в PHP не появятся классические списки и кортежи, реализация генераторов может быть неудобной или запутанной.
Не хватит скобок банально ;) Сделают списки, обострится проблема типизации и дискуссии типа зачем кортежи??? В общем деликатная тема...
Однако, подробности:
http://news.ycombinator.com/item?id=4234117
http://nikic.github.com/2012/07/10/What-PHP-5-5-might-look-like.html
https://wiki.php.net/rfc/propertygetsetsyntax-as-implemented

Как всегда есть здравые идеи, но и заумных хватает: на то оно и rfc

Лично для меня, очень удобными, сейчас, в 54 выглядят пока: traits, замыкания с контекстами this, короткий синтаксис массивов, LSB, php-fpm, (new Foo)->bar()[0];




АХТУНГ!


Разработка и развитие генту всегда на высоте, не стоят на месте и сопровождаемые пакеты php.

Я к тому, что ряд статей (примерно до 2011 г.) в этом блоге устарели и могут быть полезны только в познавательных целях или для очень давно не обновляемых серверов с генту.

Сейчас 53 достаточно стабилен и установка достаточно тривиальна.

Смотрите руководства по установке/обновлению php на сайте gentoo.org (ссылки на документацию есть в этом блоге)

Статьи на сайтах gentoo-wiki также выглядят устаревшими. Лично мое мнение: надо использовать в полный рост PHP 5.4 и готовиться к PHP 5.5+



суббота, 24 декабря 2011 г.

PHP 5.4 приближается

В то время, как народ начал потихоньку переезжать на 5.3, незаметно приблизился новый PHP 5.4

Что радует, так это наличие в дереве портов этой версии, возможно 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 симфони2 и зенд, типо3 провели фундаментальную работу по переходу на 5.3 и это им в большей степени удалось. Однако это привело к некоторым в корне неверным решениям и попыткой привнести и сохранить старую идеологию в новые версии, но тем не менее качество решений остается на приемлемом уровне. Мне лично не нравится очень большой уровень вложенности каталогов, эмулирующих пространство имен.

Задаваясь вопросом о характерных признаках правильно 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