На вопросы оргкомитета DevConf 2015 отвечает Дмитрий Стогов - лидер проекта PHPNG и один из основных разработчиков PHP; ведущий инженер в Zend Technologies.
— Расскажите пару слов о себе.
Последние лет 10 работаю в Zend, где 2/3 времени занимаюсь развитием Open Source PHP, и, в основном, усовершенствованиями связанными с производительностью. Собственно, почти все что связано с производительностью в PHP-7 (да и в PHP-5) придумано или заимствовано и реализовано мной.
— Можете сказать пару слов о своём докладе помимо того, что есть в описании?
На этот раз я постараюсь не углубляться в технические детали реализации, а просто сделать обзор основных изменений в PHP-7 которые могут затронуть любой мигрирующий проект.
— На кого ориентирован Ваш доклад?
На всех разработчиков и администраторов, планирующих использовать PHP-7
— Что нового узнает слушатель Вашего доклада?
Я попытаюсь собрать все вместе и представить информацию в соответствии с текущим статусом PHP-7. Многое, что было предложено в RFC, для PHP-7 было переделано позже.
До встречи на конференции DevConf 2015 19 июня!
Видео с доклада прошедшей Devconf 2014: phpng — новый движок для старого php
Комментарии (19)
SlavikF
30.05.2015 22:53Я уже устал смотреть все источники про PHP7. Столько анонсов… Но почему-то до сих пор не увидел чёткого списка новых фич.
Вот кто-нибудь может мне сказать, будет в PHP7 нативная поддержка UTF-8?Fesor
30.05.2015 23:30+21) wiki.php.net/rfc#php_70 — тут все принятые и заимплеменченные в PHP фичи, с подробным описанием что откуда и зачем
2) нативная поддержка UTF-8 и так есть, все внутренние функции по дефолту работают с UTF-8, так же есть как минимум 2 API для работы с юникодом. Если вы можете перечислить что-то конкретное что вас не устраивает в контексте UTF-8 скажем для версии 5.6, то перечислите. Мне будет интересно.MTonly
30.05.2015 23:492. Возможность упорядочения (сортировки) массивов UTF-8-строк средствами PHP? ;-)
Fesor
31.05.2015 00:07+2MTonly
31.05.2015 00:26Спасибо, это интересно. Жаль, что расширение
intl
, к сожалению, не всегда доступно на разделяемом хостинге (например, Зенон Н.С.П.), в том числе после подключения в пользовательском php.ini и перезапуска веб-сервера.
Fatal error: Call to undefined function collator_create().
Напишу-ка в техподдержку.MTonly
31.05.2015 01:49Ответ техподдержки:
Данное расширение не установлено
Итого, когда intl станет неотключаемой частью PHP, доступной на всех (или хотя бы большинстве — подобно mbstring) PHP-хостингах, тогда на эту функциональность и можно будет всерьёз рассчитывать и действительно широко её использовать, увы.Fesor
31.05.2015 01:52+3когда intl станет неотключаемой частью PHP
Может проще:
— сменить хостинг-провайдера (я не припомню когда у меня были проблемы с тем что у хостера небыло intl)
— перейти на VDS.MTonly
31.05.2015 02:00+1Не все готовы менять хостинг-провайдера (конкретно для упорядочения в общем случае более-менее хватает возможностей MySQL, возвращающей в PHP уже упорядоченные нужным образом данные), и далеко не всякий веб-разработчик одновременно обладает опытом настройки с нуля и/или полного администрирования собственного (физического или виртуального) сервера.
Fesor
31.05.2015 02:19+2Не все готовы менять хостинг-провайдера
Это проблема не PHP а используемой разработчиком инфраструктуры.
опытом настройки с нуля и/или полного администрирования собственного сервера
И о чем это говорит? Человек не в состоянии сделать пару apt-get install да настроить все? Да, конечно это далеко не все, надо еще порты на внешку позакрывать и т.д. Но это все в каждой второй статье о настроке VDS есть, и в принципе займет у человека один два вечера разобраться. Почему-то для ruby/python ребят это нормально, а для PHP-гайс это тип сильно круто. Да и потом, есть ансиблы, паппеты, чифы… готовые роли, кукбуки и т.д. Можно за довольно короткий срок полностью автоматизировать для себя процесс настройки и развертывания.
Вообще при этом формируется довольно негативная тенденция. Люди выбирают инструменты исходя из того что предлагают шареды. а предлагают они в основном унылку. Тот же MySQL с его богомерзскими автоинкрементами для проектов посерьезнее уже не катит (точнее катит, но PostgreSQL уже удобнее и подходит больше).MTonly
31.05.2015 03:09В целом согласен. Смысл в том, что, если возможность не является широко доступной по умолчанию, то для большинства её фактически не существует (выражаясь вашими словами, «люди выбирают инструменты исходя из того, что предлагают шареды»).
Fesor
31.05.2015 10:42Ну моя мысль проста, если разработчика не устраивает шаред хостинг или ситуация с ними, он либо ищет себе другой хостинг для конкретных проектов либо учится настраивать серваки самостоятельно. Причем я думаю что последний пункт нужно обязательно пройти.
kolpeex
31.05.2015 11:59Ну даже если intl станет частью дефолтной поставки, то как скоро шареды станут предлагать PHP7? ;)
SlavikF
31.05.2015 00:42Я разрабатываю в WAMP 5.5.12.
И приходиться писать вот такое:
opendir(iconv('UTF-8','Windows-1251',$folder_path))
Хотя вот Линуксе, в продакшене всё работает без «iconv» и юникодовские имена работают нормально.
Или это такой косяк PHP в Windows?Fesor
31.05.2015 01:49+2Это такой косяк файловой системы думаю (NTFS). В целом откройте для себя чудный мир Vagrant и философию devops.
REZ1DENT3
01.06.2015 02:05Попробуйте так: php.net/manual/ru/function.mb-internal-encoding.php#example-2900
fisher
Только что с velocity — выступал Расмус Лердорф, php7 — бомба (http://talks.php.net/velocity15#/), Диме и команде — мегареспект!