Язык 
программирования 
PHP
О докладчике 
○ Василий Гудошников, веб-разработчик. 
○ Компания Virtual Frameworks LLC. 
○ PHP Background: Drupal, Yii, Laravel.
Тема для разговора 
○ Особенности языка. 
○ О популярности. 
○ Прошлое. Настоящее. Будущее. 
○ Сообщество разработчиков.
Особенности 
○ Мультипарадигменный. Преобладает ООП. 
○ Динамическая система типов. 
○ Интерпретируемый. Компилируется в опкод. 
○ Создавался для веб-разработки. 
○ Создан чтобы умирать: приложение запускается на 
каждый HTTP-запрос и живет до отдачи ответа 
клиенту.
О популярности 
○ PHP используется на ~80% всех веб-сайтов, язык 
программирования которых известен. 
○ PHP считается простым языком для начинающих. 
○ PHP разработчиков много… но трудно найти 
хорошего специалиста. 
○ WordPress, Drupal, Joomla, Magento, MODX, TYPO3... 
○ Facebook, VK, WikiPedia, Badoo...
Низкий порог входа 
○ Устанавливаем сборку веб-сервера (denwer, xampp, 
open server). 
○ Создаем index.php. 
○ <h1><?php echo ‘Hello World!’; ?></h1> 
○ Открываем браузер. 
○ PROFIT.
Прошлое 
○ Бардак в глобальном пространстве имен. 
○ Текстовые ошибки вместо исключений. 
○ Обратная совместимость с предыдущей версией. 
○ Процедурный стиль программирования. 
○ Все в одном файле: смешивание обработки HTTP- 
запроса, бизнес-логики и представления.
«PHP был разработан в середине 90-х годов, в 
том время, когда никто не мог себе представить 
веб так, как он выглядит сегодня. Некоторые из 
интересных функций того времени превратились 
в кошмар сегодня. Существует много того что 
требует улучшения» 
© Frank Karlitschek
Настоящее 
○ Namespaces, Lambdas, Generators (yield). 
○ HHVM - JIT-компилятор и виртуальная машина. 
○ Java-style OOP. 
○ Аннотации (через Reflection). 
○ Cтандарты PSR от PHP-FIG. 
○ Единый Dependency Manager - Composer. 
○ Путь к унификации экосистемы.
PSR-2 (coding style) 
+ 
PSR-4 (autoloader) 
+ 
Composer 
Основа для 
современных php- 
проектов 
⇒
Будущее 
○ ReactPHP - платформа для разработки серверных/сетевых 
приложений. Аналог NodeJS. 
○ Hacklang - новый язык для HHVM. 
○ Zephir - статический язык для разработки PHP-расширений. 
○ PHPNG, JIT. 
○ Исключения вместо вывода ошибок на экран. 
○ Удаление устаревшей функциональности. 
○ Более удобная работа с юникодом. 
○ Более богатый и выразительный синтаксис.
Интрументарий 
○ Фреймворки-монстры: Symfony, Zend, Phalcon. 
○ RAD-фреймворки: Yii, Laravel. 
○ Микрофреймворки: Silex, Slim, Phalcon. 
○ ORM: Doctrine, PHP ActiveRecord. 
○ Testing: PHPUnit, Codeception, Behat. 
○ Dependency management: Composer. 
○ IDE: PhpStorm, Eclipse PDT. 
○ Task managers: Phing, Robo. 
○ Отладка: Xdebug, PHPDBG, forp.
Спасибо за внимание 
○ Официальный сайт: http://php.net/ 
○ Стандарты: http://www.php-fig.org/ 
○ Composer: https://getcomposer.org/ 
○ HipHop VM: http://hhvm.com/ 
○ Hacklang: http://hacklang.org/ 
○ Zephir: http://zephir-lang.com/ 
○ Обсуждение нововведений: https://wiki.php.net/rfc 
Были использованы материалы из доклада Михаила Боднарчука.

Язык программирования PHP

  • 1.
  • 3.
    О докладчике ○Василий Гудошников, веб-разработчик. ○ Компания Virtual Frameworks LLC. ○ PHP Background: Drupal, Yii, Laravel.
  • 4.
    Тема для разговора ○ Особенности языка. ○ О популярности. ○ Прошлое. Настоящее. Будущее. ○ Сообщество разработчиков.
  • 5.
    Особенности ○ Мультипарадигменный.Преобладает ООП. ○ Динамическая система типов. ○ Интерпретируемый. Компилируется в опкод. ○ Создавался для веб-разработки. ○ Создан чтобы умирать: приложение запускается на каждый HTTP-запрос и живет до отдачи ответа клиенту.
  • 6.
    О популярности ○PHP используется на ~80% всех веб-сайтов, язык программирования которых известен. ○ PHP считается простым языком для начинающих. ○ PHP разработчиков много… но трудно найти хорошего специалиста. ○ WordPress, Drupal, Joomla, Magento, MODX, TYPO3... ○ Facebook, VK, WikiPedia, Badoo...
  • 7.
    Низкий порог входа ○ Устанавливаем сборку веб-сервера (denwer, xampp, open server). ○ Создаем index.php. ○ <h1><?php echo ‘Hello World!’; ?></h1> ○ Открываем браузер. ○ PROFIT.
  • 8.
    Прошлое ○ Бардакв глобальном пространстве имен. ○ Текстовые ошибки вместо исключений. ○ Обратная совместимость с предыдущей версией. ○ Процедурный стиль программирования. ○ Все в одном файле: смешивание обработки HTTP- запроса, бизнес-логики и представления.
  • 10.
    «PHP был разработанв середине 90-х годов, в том время, когда никто не мог себе представить веб так, как он выглядит сегодня. Некоторые из интересных функций того времени превратились в кошмар сегодня. Существует много того что требует улучшения» © Frank Karlitschek
  • 11.
    Настоящее ○ Namespaces,Lambdas, Generators (yield). ○ HHVM - JIT-компилятор и виртуальная машина. ○ Java-style OOP. ○ Аннотации (через Reflection). ○ Cтандарты PSR от PHP-FIG. ○ Единый Dependency Manager - Composer. ○ Путь к унификации экосистемы.
  • 12.
    PSR-2 (coding style) + PSR-4 (autoloader) + Composer Основа для современных php- проектов ⇒
  • 14.
    Будущее ○ ReactPHP- платформа для разработки серверных/сетевых приложений. Аналог NodeJS. ○ Hacklang - новый язык для HHVM. ○ Zephir - статический язык для разработки PHP-расширений. ○ PHPNG, JIT. ○ Исключения вместо вывода ошибок на экран. ○ Удаление устаревшей функциональности. ○ Более удобная работа с юникодом. ○ Более богатый и выразительный синтаксис.
  • 15.
    Интрументарий ○ Фреймворки-монстры:Symfony, Zend, Phalcon. ○ RAD-фреймворки: Yii, Laravel. ○ Микрофреймворки: Silex, Slim, Phalcon. ○ ORM: Doctrine, PHP ActiveRecord. ○ Testing: PHPUnit, Codeception, Behat. ○ Dependency management: Composer. ○ IDE: PhpStorm, Eclipse PDT. ○ Task managers: Phing, Robo. ○ Отладка: Xdebug, PHPDBG, forp.
  • 16.
    Спасибо за внимание ○ Официальный сайт: http://php.net/ ○ Стандарты: http://www.php-fig.org/ ○ Composer: https://getcomposer.org/ ○ HipHop VM: http://hhvm.com/ ○ Hacklang: http://hacklang.org/ ○ Zephir: http://zephir-lang.com/ ○ Обсуждение нововведений: https://wiki.php.net/rfc Были использованы материалы из доклада Михаила Боднарчука.