На вопросы оргкомитета 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)


  1. fisher
    30.05.2015 09:23
    +11

    Только что с velocity — выступал Расмус Лердорф, php7 — бомба (http://talks.php.net/velocity15#/), Диме и команде — мегареспект!


  1. SlavikF
    30.05.2015 22:53

    Я уже устал смотреть все источники про PHP7. Столько анонсов… Но почему-то до сих пор не увидел чёткого списка новых фич.

    Вот кто-нибудь может мне сказать, будет в PHP7 нативная поддержка UTF-8?


    1. Fesor
      30.05.2015 23:30
      +2

      1) wiki.php.net/rfc#php_70 — тут все принятые и заимплеменченные в PHP фичи, с подробным описанием что откуда и зачем
      2) нативная поддержка UTF-8 и так есть, все внутренние функции по дефолту работают с UTF-8, так же есть как минимум 2 API для работы с юникодом. Если вы можете перечислить что-то конкретное что вас не устраивает в контексте UTF-8 скажем для версии 5.6, то перечислите. Мне будет интересно.


      1. MTonly
        30.05.2015 23:49

        2. Возможность упорядочения (сортировки) массивов UTF-8-строк средствами PHP? ;-)


        1. Fesor
          31.05.2015 00:07
          +2

          1. MTonly
            31.05.2015 00:26

            Спасибо, это интересно. Жаль, что расширение intl, к сожалению, не всегда доступно на разделяемом хостинге (например, Зенон Н.С.П.), в том числе после подключения в пользовательском php.ini и перезапуска веб-сервера.

            Fatal error: Call to undefined function collator_create().
            Напишу-ка в техподдержку.


            1. MTonly
              31.05.2015 01:49

              Ответ техподдержки:

              Данное расширение не установлено
              Итого, когда intl станет неотключаемой частью PHP, доступной на всех (или хотя бы большинстве — подобно mbstring) PHP-хостингах, тогда на эту функциональность и можно будет всерьёз рассчитывать и действительно широко её использовать, увы.


              1. Fesor
                31.05.2015 01:52
                +3

                когда intl станет неотключаемой частью PHP

                Может проще:
                — сменить хостинг-провайдера (я не припомню когда у меня были проблемы с тем что у хостера небыло intl)
                — перейти на VDS.


                1. MTonly
                  31.05.2015 02:00
                  +1

                  Не все готовы менять хостинг-провайдера (конкретно для упорядочения в общем случае более-менее хватает возможностей MySQL, возвращающей в PHP уже упорядоченные нужным образом данные), и далеко не всякий веб-разработчик одновременно обладает опытом настройки с нуля и/или полного администрирования собственного (физического или виртуального) сервера.


                  1. Fesor
                    31.05.2015 02:19
                    +2

                    Не все готовы менять хостинг-провайдера

                    Это проблема не PHP а используемой разработчиком инфраструктуры.

                    опытом настройки с нуля и/или полного администрирования собственного сервера

                    И о чем это говорит? Человек не в состоянии сделать пару apt-get install да настроить все? Да, конечно это далеко не все, надо еще порты на внешку позакрывать и т.д. Но это все в каждой второй статье о настроке VDS есть, и в принципе займет у человека один два вечера разобраться. Почему-то для ruby/python ребят это нормально, а для PHP-гайс это тип сильно круто. Да и потом, есть ансиблы, паппеты, чифы… готовые роли, кукбуки и т.д. Можно за довольно короткий срок полностью автоматизировать для себя процесс настройки и развертывания.

                    Вообще при этом формируется довольно негативная тенденция. Люди выбирают инструменты исходя из того что предлагают шареды. а предлагают они в основном унылку. Тот же MySQL с его богомерзскими автоинкрементами для проектов посерьезнее уже не катит (точнее катит, но PostgreSQL уже удобнее и подходит больше).


                    1. MTonly
                      31.05.2015 03:09

                      В целом согласен. Смысл в том, что, если возможность не является широко доступной по умолчанию, то для большинства её фактически не существует (выражаясь вашими словами, «люди выбирают инструменты исходя из того, что предлагают шареды»).


                      1. Fesor
                        31.05.2015 10:42

                        Ну моя мысль проста, если разработчика не устраивает шаред хостинг или ситуация с ними, он либо ищет себе другой хостинг для конкретных проектов либо учится настраивать серваки самостоятельно. Причем я думаю что последний пункт нужно обязательно пройти.


                      1. kolpeex
                        31.05.2015 11:59

                        Ну даже если intl станет частью дефолтной поставки, то как скоро шареды станут предлагать PHP7? ;)


      1. SlavikF
        31.05.2015 00:42

        Я разрабатываю в WAMP 5.5.12.
        И приходиться писать вот такое:

        opendir(iconv('UTF-8','Windows-1251',$folder_path))
        

        Хотя вот Линуксе, в продакшене всё работает без «iconv» и юникодовские имена работают нормально.

        Или это такой косяк PHP в Windows?


        1. Fesor
          31.05.2015 01:49
          +2

          Это такой косяк файловой системы думаю (NTFS). В целом откройте для себя чудный мир Vagrant и философию devops.


        1. k0ldbl00d
          31.05.2015 14:03
          +2

          Это такой косяк Windows.



    1. Irker
      31.05.2015 19:41

      ~outdated~sorry~


  1. tgz
    30.05.2015 23:29
    -11

    Может лучше сразу переходить на перл8? :)