SlideShare a Scribd company logo
PHP
и фреймворки
Докладчик: Дробышевский А.Н. ITSM,
2018
Что нам известно о PHP?
2
❏ Более 80% сайтов в мире использует PHP, из которых 27,5% сделано
на WordPress, 3,3% на Joomla, 2,2% - Drupal, 1,2% Magento. То есть
даже если убрать CMS платформы, почти половина интернета
нуждается в помощи PHP-специалистов.
❏ За последние 8 лет рост доли влияния PHP составил более, чем 10%.
❏ PHP в качестве серверной базы используют Facebook, Wikipedia,
Yahoo, Flickr, SourceForge, Tumblr и т.д. Они кое-что понимают в
трендах.
❏ Согласно свежему рейтингу TIOBE, PHP – 7-й по популярности язык в
мире, он “круче” чем Swift, Ruby и Go =)
Немного фактов о PHP
3
w3techs statistics
4
TIOBE Index for June 2018
5
Возвращаясь в прошлое
6
❏ легкий порог вхождения = много плохого кода
❏ много плохого кода = плохое всеобщее
мнение
❏ отсутствие инфраструктуры и архитектуры
организации приложений и инструментов
❏ узконаправленность использования языка
❏ “относительно” медленная скорость
работы(по сравнению с версией 7.x)
Развитие PHP
7
Сравнительная статистика версий PHP
8
Jordi Boggiano
from composer
9
А где же PHP 6?
Как это было
❏ PHP 5.6 => начало эпохи фреймворков => нужна производительность!
❏ синтетические тесты => ”пилим” собственный JIT компилятор
❏ LLVM => увеличение производительности в 10 раз на синт.тестах
❏ никакого “профита”, на реальных приложениях (~ 2 мин. на реквест
Wordpress)
❏ Скажи “НЕТ” синтетическим тестам!
❏ оптимизируй работу с внутренними структурами данных
❏ добавь промежуточный слой Abstract Syntax Tree перед компиляцией
❏ получи профит в 30% ускорения производительности.
❏ Начало нового проекта PHP NG
❏ Так куда же делась 6 версия?
❏ Направление ветки PHP 6 в основном заключалось в добавлении
поддержки нативного Юникода в PHP
❏ На ранних этапах проектирования были приняты неверные решения по
архитектуре ядра, проект заморозили.
❏ Учитывая наработки PHP NG => от версии 6 решили отказаться 10
PHP 7.0
❏ Производительность и безопасность
❏ Больше исключений для обработки фатальных ошибок
❏ Type hint скаляров и return-типы
❏ assert()
❏ Анонимные классы
❏ Синтаксический сахар (??, ⇔)
11
PHP 7.1
❏ nullable types
❏ void return
❏ добавлен псевдотип iterable
❏ область видимости для констант
❏ обработка нескольких Exception в одном блоке (Exception |
MyException)
12
PHP 7.2
❏ object как type hint
❏ возможность перегружать абстрактные методы (ломаем SOLID, привет
Барбара Лисков)
❏ В ядро добавлена поддержка Libsodium(шифрование) и
Argon2(создание хеша)
❏ синтаксический сахарок(запятая в неймспейсах)
13
PHP 7.3
❏ is_countable()
❏ добавили последнюю запятую где только можно
❏ предположительно, типы для свойств
14
Так PHP норм?
15
16
И Таааак ….
❏ Сейчас PHP актуален как для мелких задач, так и для Enterprise
решений
❏ Развитие фреймворков помогают ускорить и поместить в
ограниченные рамки разработку
❏ Тимлиды и инструменты не дремлют(gitlab, CI, docker, gitflow ….)
❏ Инфраструктура и Composer - супер круты, привет Jordi =)
❏ PHP-FIG (PHP Framework Interop Group)
❏ Скалинг приложения написанного на PHP гораздо проще чем на
др.
17
Какие фреймворки есть сейчас
❏ Laravel
❏ Symfony
❏ Yii 2
❏ CakePHP
❏ Codeigniter
❏ Zend Framework
❏ ReactPHP
❏ Phalcon
❏ FuelPHP
❏ Slim, Silex (от
SensioLabs) ...
18
Laravel
❏ Крутейший маркетинг. На данный момент самый популярный
❏ Документация годная (англ. и рус.)
❏ Секретные фичи, о которых говорят только на конференциях
❏ На мой взгляд попытка копировать тот же Symfony (Xbox, PS)
19
Symfony
❏ Сильные рамки. Плюс тяжеловесность
❏ Хорошие бест практис и комьюнити
❏ Под капотом много встроенного + панель профайлер
❏ Идет в ногу со временем, не успеваешь переходить на новые
версии (2.8-4.1) =)
❏ Очень похож по стилю на Java и Spring
20
Phalcon
❏ Рвет всех по производительности
❏ Поставляется как С-расширение и внутрь путь закрыт
❏ Что-то отдебажить очень трудно
❏ Документации мне показалось маловато
21
ReactPHP
❏ Асинхронный PHP Юхууу. Отличный вариант для асинхронных
демонов.
❏ Реактивный не в смысле как ракета - от слова “реакция”
❏ Promise ….
22
CodeIgniter
❏ Да, он все еще жив
❏ Легковесный, не требует движка шаблонов ….
❏ Установка = распакуйте ZIP, в 2018 то году ….
❏ MVC
❏ Беглый взгляд на новую версию, напомнил мне старую…
❏ Документация не очень
23
А может ну их эти фреймворки?
24
А может ненадо?
❏ Либы отдельно может и норм, но как они уживутся вместе?
❏ Поддержка всего этого зоопарка
❏ Как обучить команду(новых людей)?
❏ Нужно писать доку, кто любит?
❏ Сроки … вчера?
❏ Один в поле не воин
25Надо Федя, надо...
Подытожить нужно бы
26
❏ PHP уже не тот что был и это хорошо! Никаких тебе .php3 =)
❏ Хорошее направление развития приносит свои плоды
❏ Разделение Frontend’a и Backend’a расширило границы
использования PHP (IoT)
❏ Фреймворки были, есть и будут, но возможно без фронта
❏ Промышленное программирование на PHP уже не прикол
❏ ...
27
Аплодисменты
(с) K.Litvinov
28
Вопросы?
29

More Related Content

PDF
Rust - GDG DevFest 2016 Nizhny Novgorod
PDF
Rust - GDG DevFest Siberia 2016
PDF
Кроссплатформенная разработка на Haxe
PPTX
Обзор Haxe & OpenFl
PDF
Отладка в Python: 2016 edition
PDF
Rust: история языка и контекст применения
PDF
Владислав Грязнов "Многозадачность в PHP"
PDF
Как приручить реактивное программирование
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest Siberia 2016
Кроссплатформенная разработка на Haxe
Обзор Haxe & OpenFl
Отладка в Python: 2016 edition
Rust: история языка и контекст применения
Владислав Грязнов "Многозадачность в PHP"
Как приручить реактивное программирование

What's hot (19)

PPTX
Как писать на PHP и не стать быдло-кодером
PDF
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
PDF
Павел Пушкарев — «Развертывание верстки»
PDF
Повышаем и следим за качеством PHP кода
PDF
Данил Ильиных и Владимир Иванов, «Велогосипед»
DOC
1. видеоуроки по php
PDF
BeeGo для веб приложений, API и демонов
PDF
Сравнение технологий aiopg & asyncpg, Алексей Фирсов. 22 июня, 2019
PPT
Platypus platform ivbit
PPTX
курс Java 2016. занятие 03. интерфейсы, generic, исключения
PDF
Anton Bolshakov - Joint anti-crime. Open source security
PDF
Ігор Карпиленко — PHPStorm for drupal developer
PPTX
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
PDF
#noBackend, или Как выжить в эпоху толстеющих клиентов
PDF
REPL в Node.js: улучшаем быт разработчик
PDF
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...
PPTX
Shytikov on git Magic
PDF
Контроль за стилем кода — Кирилл Борисов
PPTX
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
Как писать на PHP и не стать быдло-кодером
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
Павел Пушкарев — «Развертывание верстки»
Повышаем и следим за качеством PHP кода
Данил Ильиных и Владимир Иванов, «Велогосипед»
1. видеоуроки по php
BeeGo для веб приложений, API и демонов
Сравнение технологий aiopg & asyncpg, Алексей Фирсов. 22 июня, 2019
Platypus platform ivbit
курс Java 2016. занятие 03. интерфейсы, generic, исключения
Anton Bolshakov - Joint anti-crime. Open source security
Ігор Карпиленко — PHPStorm for drupal developer
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
#noBackend, или Как выжить в эпоху толстеющих клиентов
REPL в Node.js: улучшаем быт разработчик
#PostgreSQLRussia 2015.09.15 - Николай Самохвалов - 5 главных особенностей Po...
Shytikov on git Magic
Контроль за стилем кода — Кирилл Борисов
#PostgreSQLRussia 2015.09.15 - Максим Трегубов, CUSTIS - Миграция из Oracle в...
Ad

Similar to Php and frameworks (20)

PPTX
Язык программирования PHP
PDF
Opensource на .NET
PDF
Разработка декстопных приложений для linux (Владимир Яковлев)
PDF
Machine learning c использованием нейронных сетей, Дмитрий Лапин
PDF
Flame graph: новый взгляд на старое профилирование
PPT
Highload2009 Rybak Badoo Os
PDF
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
PDF
Big web project @happydev Omsk
PDF
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...
PDF
Демонизированный PHP - before it was cool
PDF
Serghei Iakovlev "Chaos engineering in action"
PDF
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
PDF
PDF
Viacheslav Eremin about DOT NET (rus lang)
PDF
AVITO. Решардинг Redis без даунтайма. DevConf 2012
PDF
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
PPTX
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
ODP
ekbpy'2012 - Марк Коренберг - Системное программирование на Питоне
PPT
История проекта, который никогда не падает / Андрей Шетухин
Язык программирования PHP
Opensource на .NET
Разработка декстопных приложений для linux (Владимир Яковлев)
Machine learning c использованием нейронных сетей, Дмитрий Лапин
Flame graph: новый взгляд на старое профилирование
Highload2009 Rybak Badoo Os
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Big web project @happydev Omsk
HappyDev`12 - Александр Чистяков - Большой веб-проект: развитие, рост, пробле...
Демонизированный PHP - before it was cool
Serghei Iakovlev "Chaos engineering in action"
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Viacheslav Eremin about DOT NET (rus lang)
AVITO. Решардинг Redis без даунтайма. DevConf 2012
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
ekbpy'2012 - Марк Коренберг - Системное программирование на Питоне
История проекта, который никогда не падает / Андрей Шетухин
Ad

Php and frameworks

  • 3. ❏ Более 80% сайтов в мире использует PHP, из которых 27,5% сделано на WordPress, 3,3% на Joomla, 2,2% - Drupal, 1,2% Magento. То есть даже если убрать CMS платформы, почти половина интернета нуждается в помощи PHP-специалистов. ❏ За последние 8 лет рост доли влияния PHP составил более, чем 10%. ❏ PHP в качестве серверной базы используют Facebook, Wikipedia, Yahoo, Flickr, SourceForge, Tumblr и т.д. Они кое-что понимают в трендах. ❏ Согласно свежему рейтингу TIOBE, PHP – 7-й по популярности язык в мире, он “круче” чем Swift, Ruby и Go =) Немного фактов о PHP 3
  • 5. TIOBE Index for June 2018 5
  • 6. Возвращаясь в прошлое 6 ❏ легкий порог вхождения = много плохого кода ❏ много плохого кода = плохое всеобщее мнение ❏ отсутствие инфраструктуры и архитектуры организации приложений и инструментов ❏ узконаправленность использования языка ❏ “относительно” медленная скорость работы(по сравнению с версией 7.x)
  • 10. Как это было ❏ PHP 5.6 => начало эпохи фреймворков => нужна производительность! ❏ синтетические тесты => ”пилим” собственный JIT компилятор ❏ LLVM => увеличение производительности в 10 раз на синт.тестах ❏ никакого “профита”, на реальных приложениях (~ 2 мин. на реквест Wordpress) ❏ Скажи “НЕТ” синтетическим тестам! ❏ оптимизируй работу с внутренними структурами данных ❏ добавь промежуточный слой Abstract Syntax Tree перед компиляцией ❏ получи профит в 30% ускорения производительности. ❏ Начало нового проекта PHP NG ❏ Так куда же делась 6 версия? ❏ Направление ветки PHP 6 в основном заключалось в добавлении поддержки нативного Юникода в PHP ❏ На ранних этапах проектирования были приняты неверные решения по архитектуре ядра, проект заморозили. ❏ Учитывая наработки PHP NG => от версии 6 решили отказаться 10
  • 11. PHP 7.0 ❏ Производительность и безопасность ❏ Больше исключений для обработки фатальных ошибок ❏ Type hint скаляров и return-типы ❏ assert() ❏ Анонимные классы ❏ Синтаксический сахар (??, ⇔) 11
  • 12. PHP 7.1 ❏ nullable types ❏ void return ❏ добавлен псевдотип iterable ❏ область видимости для констант ❏ обработка нескольких Exception в одном блоке (Exception | MyException) 12
  • 13. PHP 7.2 ❏ object как type hint ❏ возможность перегружать абстрактные методы (ломаем SOLID, привет Барбара Лисков) ❏ В ядро добавлена поддержка Libsodium(шифрование) и Argon2(создание хеша) ❏ синтаксический сахарок(запятая в неймспейсах) 13
  • 14. PHP 7.3 ❏ is_countable() ❏ добавили последнюю запятую где только можно ❏ предположительно, типы для свойств 14
  • 16. 16
  • 17. И Таааак …. ❏ Сейчас PHP актуален как для мелких задач, так и для Enterprise решений ❏ Развитие фреймворков помогают ускорить и поместить в ограниченные рамки разработку ❏ Тимлиды и инструменты не дремлют(gitlab, CI, docker, gitflow ….) ❏ Инфраструктура и Composer - супер круты, привет Jordi =) ❏ PHP-FIG (PHP Framework Interop Group) ❏ Скалинг приложения написанного на PHP гораздо проще чем на др. 17
  • 18. Какие фреймворки есть сейчас ❏ Laravel ❏ Symfony ❏ Yii 2 ❏ CakePHP ❏ Codeigniter ❏ Zend Framework ❏ ReactPHP ❏ Phalcon ❏ FuelPHP ❏ Slim, Silex (от SensioLabs) ... 18
  • 19. Laravel ❏ Крутейший маркетинг. На данный момент самый популярный ❏ Документация годная (англ. и рус.) ❏ Секретные фичи, о которых говорят только на конференциях ❏ На мой взгляд попытка копировать тот же Symfony (Xbox, PS) 19
  • 20. Symfony ❏ Сильные рамки. Плюс тяжеловесность ❏ Хорошие бест практис и комьюнити ❏ Под капотом много встроенного + панель профайлер ❏ Идет в ногу со временем, не успеваешь переходить на новые версии (2.8-4.1) =) ❏ Очень похож по стилю на Java и Spring 20
  • 21. Phalcon ❏ Рвет всех по производительности ❏ Поставляется как С-расширение и внутрь путь закрыт ❏ Что-то отдебажить очень трудно ❏ Документации мне показалось маловато 21
  • 22. ReactPHP ❏ Асинхронный PHP Юхууу. Отличный вариант для асинхронных демонов. ❏ Реактивный не в смысле как ракета - от слова “реакция” ❏ Promise …. 22
  • 23. CodeIgniter ❏ Да, он все еще жив ❏ Легковесный, не требует движка шаблонов …. ❏ Установка = распакуйте ZIP, в 2018 то году …. ❏ MVC ❏ Беглый взгляд на новую версию, напомнил мне старую… ❏ Документация не очень 23
  • 24. А может ну их эти фреймворки? 24
  • 25. А может ненадо? ❏ Либы отдельно может и норм, но как они уживутся вместе? ❏ Поддержка всего этого зоопарка ❏ Как обучить команду(новых людей)? ❏ Нужно писать доку, кто любит? ❏ Сроки … вчера? ❏ Один в поле не воин 25Надо Федя, надо...
  • 27. ❏ PHP уже не тот что был и это хорошо! Никаких тебе .php3 =) ❏ Хорошее направление развития приносит свои плоды ❏ Разделение Frontend’a и Backend’a расширило границы использования PHP (IoT) ❏ Фреймворки были, есть и будут, но возможно без фронта ❏ Промышленное программирование на PHP уже не прикол ❏ ... 27