![Page 1: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/1.jpg)
Четвертая конференция разработчиков ПО«DevParty»
2 апреля 2016 года, Вологда
Мочалыгин Александр
PHP7 и равен ли переезд двум пожарам?
![Page 2: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/2.jpg)
Четвертая конференция разработчиков ПО«DevParty»
2 апреля 2016 года, Вологда
Оксенюк Роман
О самом лучшем языке программирования в мире
![Page 3: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/3.jpg)
Счётчик и подменаБыло:
Стало:
![Page 4: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/4.jpg)
Счётчик и подменаl 2 сервераl ~ 4 000 сайтовl ~ 1 000 000 сессий в суткиl Динамические и статические пулы
![Page 5: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/5.jpg)
Аналитикаl 3 сервера на бекендеl 3 сервера на фронтенде
![Page 6: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/6.jpg)
l Много серверов, иногда в разной конфигурации
l Много legacy-кодаl Много кода, написанного разными фрилансерами
l Работающая система
l Автоматический тест на 500-ые ошибки
l Можно поставить параллельно
l Ожидания
Pro и Contra
![Page 7: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/7.jpg)
Тестыl PHP 5.6l Время – 33 сек
l PHP 7l Время: 17 секl Память: -14%l Утекло: -52%
![Page 8: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/8.jpg)
Печалька 1l Разные конфигиl Проверить timezone, memory_limit, mods, проч.
![Page 9: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/9.jpg)
Печалька 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
![Page 10: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/10.jpg)
Печалька 3
\Exception → \Throwable
l class Exception implements Throwablel class Error implements Throwable
![Page 11: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/11.jpg)
Печалька 4
foo( (bar()) ) не работает
l function foo( &$val )
![Page 12: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/12.jpg)
Другие печалькиl list()l set_exception_handler() l $$foo['bar']['baz']l globall foreachl integerl Division By Zero
![Page 13: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/13.jpg)
Ништяк 1
Короткий синтаксис use
![Page 14: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/14.jpg)
Ништяк 2l Быстрые массивыl Большие массивы на порядки быстрее без использования SplFixedArray или Judy
l $array = [];l for ($i = 1; $i < 10000000; $i++)l $array[$i] = $i * 2;
![Page 15: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/15.jpg)
Ништяк 3l Анонимные классы
![Page 16: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/16.jpg)
Ништяк 4l ??
![Page 17: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/17.jpg)
Ништяк 5
Безопасный unserialize()
![Page 18: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/18.jpg)
Ништяк 6
Строгое типизирование
![Page 19: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?](https://reader036.vdocuments.pub/reader036/viewer/2022082501/587eb8611a28abbb688b669d/html5/thumbnails/19.jpg)
#всемколтачl Мочалыгин Александрl +7 999 816 1024l [email protected]