Научная статья на тему 'ТРЕНДЫ ВЕБ-РАЗРАБОТКИ: PHP7'

ТРЕНДЫ ВЕБ-РАЗРАБОТКИ: PHP7 Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
20
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
PHP / веб-сервер / функции / сайт / PHP / Web server / functions / website

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Д.С. Шалаева, А.П. Багаева

В статье рассмотрен язык программирования PHP, его новые версии и где он используется в веб-серверах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

WEB DEVELOPMENT TRENDS: PHP7

The article discusses the PHP programming language, its new versions and where it is used in web servers.

Текст научной работы на тему «ТРЕНДЫ ВЕБ-РАЗРАБОТКИ: PHP7»

Секция «»Информационно-экономические системы»

УДК 004.43

ТРЕНДЫ ВЕБ-РАЗРАБОТКИ: PHP?

Д. С. Шалаева Научный руководитель - А. П. Багаева

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: dasha.shalaeva.00@mail.ru

В статье рассмотрен язык программирования PHP, его новые версии и где он используется в веб-серверах.

Ключевые слова: PHP, веб-сервер, функции, сайт.

WEB DEVELOPMENT TRENDS: PHP?

D. S. Shalaeva Scientific supervisor - A. P. Bagaeva

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: dasha.shalaeva.00@mail.ru

The article discusses the PHP programming language, its new versions and where it is used in web servers.

Key words: PHP, Web server, functions, website.

Язык PHP используется при написании большого количества веб-приложений, так как совместим с разными веб-серверами, базами данных и операционными системами. В настоящее время он занимает не последнее место в трендах веб-разработок.

PHP был представлен датским программистом Расмусом Лердорфом еще в июне 1995 году. Изначально это был просто набор CGI-скриптов, которые написаны на Perl. За это время было выпущено семь его версий.

Причиной появления очередной новой версии PHP7 стало то, что в предыдущих версиях не хватало производительности, код был слишком загружен и часто возникали проблемы в работе, когда в коде находились ошибки. В новой версии все старые проблемы решены.

PHP расшифровывается как Personal Home Page - инструмент создания персональных вебстраниц и динамических сайтов. То есть это не только язык программирования, это еще и огромная библиотека функций, много расширений для работы с другими сторонними библиотеками, например, доступа к БД или парсерам XML, а еще набор модулей для связи с различными веб-серверами [1].

Релиз PHP7.0 это так называемый прорв, потому что он основан на экспериментальном и активно развивающимся проекте «PHP Next Generation» (phpng) - «Следующее поколение PHP».

Что же нового в PHP7?

Типы скалярных параметров и подсказки (hints) по возвращаемым типам. В 7 версии расширено ранее существовавшее объявление параметров в методах через добавление четырех скалярных типов: int (целого), float (с плавающей запятой), bool (логического), string

Актуальные проблемы авиации и космонавтики - 2021. Том 2

(строкового) в качестве возможного типа параметра. А также появилась возможность опционально указать тип результата, возвращаемого функцией или методом. Это позволит строить прозрачные приложения, избегая передачи возврата неверных значений при работе с функциями. Плюс появились анализаторы статического кода и IDE, которые более ясно отображают код при отсутствии документирующих примечаний DocBlocks.

1. Исключения движка. При появлении исключений уровня ядра фатальные ошибки, приводящие к остановке выполнения скрипта, теперь могут юыть легко перехвачены и обработаны. Теперь ошибки не остановят скрипт, вместо этого будет сгенерировано исключение, которое возможно обработать в блоке try catch. Это улучшит обработку ошибок в приложении, что очень важно для некоторых типов приложений, серверов и доменов, так как фатальные ошибки вполне могут привести к необходимости их рестарта. Также появилось много новых классов исключений, которые призваны обрабатывать типы ошибок. Добавлен новый интерфейс Throwable, который служит для обеспечения совместимости между версиями, он может быть реализован как исключениями уровня ядра, так и исключениями пользователя. Это сделано с целью недопущения наследования базового класса исключений исключениями ядра, что привело бы к появлению исключений в прежде написанном коде, отсутствующих ранее.

2. Анонимные классы. Это братья анонимных функций, использующихся при создании функциональности коротких и ясных объектов. Анонимные классы очень легко создаются и используются так же, как и обычные объекты. Они полезны при тестировании юнитами, особенно при имитации поведения реального объекта (мокинге) при тестировании объектов и сервисов. Наличие анонимных классов позволит избежать использования больших мокинг-библиотек и фреймворков путем создания простого объекта, поддерживающего интерфейс, который используется для мокинга.

3. Синтаксис Escape-кода для Unicode. Теперь появилась возможность с помощью escape-последовательности \u генерировать символы для Unicode с помощью их кода из набора UTF-8. С помощью этого лучше контролируются невидимые символы и символы, которые имеют графическое отображение, отличное от значения [2].

4. Появились две новые функции CSPRNG. Они предназначены для генерации крипографически безопасной строки и целых. Первая функция возвращает случайную строку длиной $len, другая - возвращает число в диапазоне $min... $max.

5. Обновленные генераторы. У генераторов появился оператор return. Его можно использовать для выдачи некоторого финального значения которое актуально на момент завершения итерации. Также имеется возможность использовать его для проверки корректности выполнения генератора. Например, можно узнать выполнился ли он без ошибок. Это позволит коду, который вызвал генератор корректно обработать любую возникшую ситуацию. Ко всему прочему генераторы могут возвращать и выдавать выражения из других генераторов, что позволяет разбивать сложные операции на более простые.

Так как PHP используется очень часто при написании веб-приложений и совместим с различными операционными системами, базами данных и т.п., то в релизе PHP 7.0 было введено Abstract syntax tree (AST) - абстрактное синтаксическое дерево, являющиеся промежуточным звеном в компиляционном процессе. Теперь синтаксический анализатор основан на этой модели. Благодаря этому теперь можно создавать более производительный операционный код [3].

Также появился Uniform Variable Syntax - универсальный синтаксис для переменных. Что позволяет решить часть несоответствий, связанных с вычислением значений переменных, а также создает необходимость переписывать некоторые редко используемые части кода.

Секция «Информационно-экономические системы»

Конечно же, в PHP7 увеличена производительность, что прекрасно отразится на функционале всех хостингов, потому что они смогут повысить количество своих пользователей без повышения количества серверов или других улучшений.

В итоге можно сказать, что релиз PHP7 это определенная отправная точка для следующих версий PHP нового поколения. Код стал более чистым, удобным и понятным, значительно увеличилась производительность. Это стало огромным скачком для PHP. И он все тверже завоевывает свое место в трендах веб-разработок.

Библиографические ссылки

1. Что такое PHP? [Электронный ресурс]. URL: https://www.php.net/manual/ru/intro-whatis.php (дата обращения: 14.02.2021).

2. Харб. Введение в PHP7: что добавлено, что убрано [Электронный ресурс]. URL: https://habr.com/ru/post/280071/ (дата обращения: 20.02.2021).

3. Комьюнити. Обзор PHP7 [Электронный ресурс]. URL: https://timeweb.com/ru/community/articles/obzor-php-7-

1?utm medium=affilate&utm source=admitad&utm campaign=admitad-virtual-hosting&admitad uid=6d9a8c72d31551496d27568cfdd92a9f (дата обращения: 05.03.2021).

© Шалаева Д. С., 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.