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

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

Embed Size (px)

Citation preview

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

Язык

программирования

PHP

Page 2: Язык программирования PHP
Page 3: Язык программирования PHP

О докладчике

○ Василий Гудошников, веб-разработчик.

○ Компания Virtual Frameworks LLC.

○ PHP Background: Drupal, Yii, Laravel.

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

Тема для разговора

○ Особенности языка.

○ О популярности.

○ Прошлое. Настоящее. Будущее.

○ Сообщество разработчиков.

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

Особенности

○ Мультипарадигменный. Преобладает ООП.

○ Динамическая система типов.

○ Интерпретируемый. Компилируется в опкод.

○ Создавался для веб-разработки.

○ Создан чтобы умирать: приложение запускается на

каждый HTTP-запрос и живет до отдачи ответа

клиенту.

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

О популярности

○ PHP используется на ~80% всех веб-сайтов, язык

программирования которых известен.

○ PHP считается простым языком для начинающих.

○ PHP разработчиков много… но трудно найти

хорошего специалиста.

○ WordPress, Drupal, Joomla, Magento, MODX, TYPO3...

○ Facebook, VK, WikiPedia, Badoo...

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

○ Устанавливаем сборку веб-сервера (denwer, xampp,

open server).

○ Создаем index.php.

○ <h1><?php echo ‘Hello World!’; ?></h1>

○ Открываем браузер.

○ PROFIT.

Низкий порог входа

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

Прошлое

○ Бардак в глобальном пространстве имен.

○ Текстовые ошибки вместо исключений.

○ Обратная совместимость с предыдущей версией.

○ Процедурный стиль программирования.

○ Все в одном файле: смешивание обработки HTTP-

запроса, бизнес-логики и представления.

Page 9: Язык программирования PHP
Page 10: Язык программирования PHP

«PHP был разработан в середине 90-х годов, в том время, когда никто не мог себе представить веб так, как он выглядит сегодня. Некоторые из интересных функций того времени превратились

в кошмар сегодня. Существует много того что требует улучшения»

© Frank Karlitschek

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

Настоящее

○ Namespaces, Lambdas, Generators (yield).

○ HHVM - JIT-компилятор и виртуальная машина.

○ Java-style OOP.

○ Аннотации (через Reflection).

○ Cтандарты PSR от PHP-FIG.

○ Единый Dependency Manager - Composer.

○ Путь к унификации экосистемы.

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

PSR-2 (coding style)

+

PSR-4 (autoloader)

+

Composer

Основа для

современных php-

проектов⇒

Page 13: Язык программирования PHP
Page 14: Язык программирования PHP

Будущее

○ ReactPHP - платформа для разработки серверных/сетевых

приложений. Аналог NodeJS.

○ Hacklang - новый язык для HHVM.

○ Zephir - статический язык для разработки PHP-расширений.

○ PHPNG, JIT.

○ Исключения вместо вывода ошибок на экран.

○ Удаление устаревшей функциональности.

○ Более удобная работа с юникодом.

○ Более богатый и выразительный синтаксис.

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

Интрументарий

○ Фреймворки-монстры: 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.

○ ...тысячи их

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

Спасибо за внимание

○ Официальный сайт: 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

Были использованы материалы из доклада Михаила Боднарчука.