Александр Мочалыгин, calltouch.net — РНР7 и равен ли переезд...
TRANSCRIPT
Четвертая конференция разработчиков ПО«DevParty»
2 апреля 2016 года, Вологда
Мочалыгин Александр
PHP7 и равен ли переезд двум пожарам?
Четвертая конференция разработчиков ПО«DevParty»
2 апреля 2016 года, Вологда
Оксенюк Роман
О самом лучшем языке программирования в мире
Счётчик и подменаБыло:
Стало:
Счётчик и подменаl 2 сервераl ~ 4 000 сайтовl ~ 1 000 000 сессий в суткиl Динамические и статические пулы
Аналитикаl 3 сервера на бекендеl 3 сервера на фронтенде
l Много серверов, иногда в разной конфигурации
l Много legacy-кодаl Много кода, написанного разными фрилансерами
l Работающая система
l Автоматический тест на 500-ые ошибки
l Можно поставить параллельно
l Ожидания
Pro и Contra
Тестыl PHP 5.6l Время – 33 сек
l PHP 7l Время: 17 секl Память: -14%l Утекло: -52%
Печалька 1l Разные конфигиl Проверить timezone, memory_limit, mods, проч.
Печалька 2l PHP Warning: Leaked 1 hashtable iterators in Unknown on line 0
l I don't know what the root cause for the warning is. However I just fixed the condition (https://github.com/php/php-src/commit/fd955551070013464b4e909a79ab7e4b8abc90f7). The warning was supposed to show only in debug builds, but due to a typo it also showed up in release builds. With this fix, you should not see it anymore.
l Regards, Nikita
Печалька 3
\Exception → \Throwable
l class Exception implements Throwablel class Error implements Throwable
Печалька 4
foo( (bar()) ) не работает
l function foo( &$val )
Другие печалькиl list()l set_exception_handler() l $$foo['bar']['baz']l globall foreachl integerl Division By Zero
Ништяк 1
Короткий синтаксис use
Ништяк 2l Быстрые массивыl Большие массивы на порядки быстрее без использования SplFixedArray или Judy
l $array = [];l for ($i = 1; $i < 10000000; $i++)l $array[$i] = $i * 2;
Ништяк 3l Анонимные классы
Ништяк 4l ??
Ништяк 5
Безопасный unserialize()
Ништяк 6
Строгое типизирование
#всемколтачl Мочалыгин Александрl +7 999 816 1024l [email protected]