Язык программирования PHP
PHP — язык программирования, который наиболее распространён в сфере веб‑разработки.
В настоящее время PHP является одним из лидеров среди серверных языков программирования, применяющихся для создания динамических веб‑сайтов и веб‑приложений. Большая часть коробочных систем управления сайтами написана именно на PHP, язык поддерживается подавляющим большинством хостинг‑провайдеров, Язык получил широкое распространение благодаря своей простоте, скорости, мультипарадигмальности, богатой функциональности и кроссплатформенности.
Платформы для разработки на PHP
Фреймворки: Yii, Symfony, Zend
Критика
Язык популярный, но при этом средний уровень разработчиков катастрофически низкий: программистами на PHP называют себя даже начинающие HTML‑верстальщики. Это в значительной степени определят плохое качество PHP‑проектов.
Фреймворки достаточно разрозненные — их много, явного лидера нет, поэтому число разработчиков на отдельно взятом PHP‑фреймворке может быть существенно ниже, чем количество разработчиков на том же Ruby on Rails (хотя сам язык программирования Ruby значительно менее распространён, нежели PHP).
Также сам язык обладает достаточно большим количеством недостатков, которые проявляются при разработке сложных решений. Во многом, эти недостатки — следствие эволюционного развития PHP и следования обратной совместимости.
Статья опубликована в 2019 году
Тематические статьи
NetCat — универсальная коммерческая система управления сайтами
Одна из старейших коммерческих CMS. Универсальна. Подходит для небольших и средних проектов. Написана на языке программирования PHP и использует базу данных MySQL. По разным источникам NetCat занимает второе или третье место среди коммерческих CMS на русскоязычных сайтах, следуя за 1С-Битриксом и конкурируя за второе место с UMI.CMS.
веб-разработка
Статья опубликована в 2014 году
Серверные языки программирования
Серверные языки программирования нужны для реализации бизнес‑логики, то есть разработчик при помощи языка программирования описывает возможные сценарии использования сайта или приложения.
веб-разработка
языки программирования
Статья опубликована в 2014 году
Joomla — простая и бесплатная система управления сайтами
Универсальная бесплатная CMS с огромным количеством модулей/компонентов, которые часто дублируют функционал друг друга. Joomla написана на PHP5 и использует СУБД MySQL или другие реляционные СУБД. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.
веб-разработка
Статья опубликована в 2014 году
Magento — cистема управления сайтами интернет‑магазинов
Magento — система управления сайтами интернет‑магазинов с достаточно богатыми возможностями. Система не очень распространена в России, серьёзных внедрений в отечественном eCommerce мало и компетентных разработчиков тоже почти нет, но в мире эта CMS сейчас занимает лидирующие позиции.
веб-разработка
Статья опубликована в 2014 году
Yii — фреймворк на PHP
Yii — это популярный фреймворк для php‑разработки, основанный на парадигме MVC. Основное преимущество — очень высокая скорость работы и, как следствие, производительность.
фреймворки
веб-разработка
Статья опубликована в 2014 году
UMI.CMS — универсальная коммерческая система управления сайтами
Универсальная коммерческая CMS. Обладает приятным интерфейсом, позволяет создавать информационные сайты, сайты‑каталоги и интернет‑магазины.
веб-разработка
Статья опубликована в 2014 году
WordPress — система управления сайтами для блогов, СМИ и сообществ
Бесплатная CMS для создания блогов и сообществ, часто используется и для создания других видов сайтов, хотя для этого не предназначена. Не стоит создавать на WordPress что‑то кроме блогов, так как подобное решение будет не очень удобным в поддержке и сопровождении.
веб-разработка
Статья опубликована в 2014 году
Универсальная система управления сайтами ModX (Revolution и Evolution)
Универсальная бесплатная CMS. Cистема с открытым исходным кодом и открытой лицензией. Написана на языке программирования PHP, использует для хранения данных СУБД MySQL или MS SQL. Можно создавать сайты любой направленности.
веб-разработка
Статья опубликована в 2014 году
Язык программирования Ruby
Ruby (ruby — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно‑ориентированный, рефлективный, императивный, функциональный. Активно используется в веб‑разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).
Что за язык php
PHP — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.
Область применения
В области веб-программирования, в частности серверной части, PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET).
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений. Основные из них:
- автоматическое извлечение POSTи GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
- взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscapeи Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO), Redis;
- автоматизированная отправка HTTP-заголовков;
- работа с HTTP-авторизацией;
- работа с cookiesи сессиями;
- работа с локальными и удалёнными файлами, сокетами;
- обработка файлов, загружаемых на сервер;
- работа с XForms.
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в мае 2016 года PHP находился на 6 месте среди языков программирования [11] . К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.
Входит в LAMP — распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).
Дополнительные возможности
Язык автоматически поддерживает HTTP Cookies, в соответствии с стандартами Netscape. Это позволяет проводить установку и чтение небольших сегментов данных на стороне клиента. Работа с Cookies организована посредством сеансов (сессий). У сессий есть срок действия (после его истечения, данные удаляются), в сессиях можно хранить и редактировать разные типы данных, в том числе сериализованные — пропущенные через serialize( процесс происходит автоматически ), PHP-объекты.
Создание GUI-Приложений
PHP не ориентирован на создание приложений, но есть потребность в создании интерфейсов для: настройки серверов, беспрерывного выполнения, отладки скриптов(сценариев), управления локальными и тестовыми серверами, и т.п. Из-за этого и возникли решения данной проблемы.
PHP 7
В 2014 году было проведено голосование, по результатам которого следующая версия получила название PHP 7. Выход новой версии планировался в середине октября 2015 года. В марте 2015 года Zend представили инфографику, в которой описаны основные нововведения PHP 7.
3 декабря 2015 года было объявлено о выходе PHP версии 7.0.0.
Новая версия основывается на экспериментальной ветви PHP, которая изначально называлась phpng (PHP Next Generation — следующее поколение), и разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. В новой версии добавлена возможность указывать тип возвращаемых из функции данных, добавлен контроль передаваемых типов для данных, а также новые операторы.
Синтаксис
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для написания простейшего скрипта не требуется описывать какие-либо переменные, используемые модули и т. п. Любой скрипт может начинаться непосредственно с оператора PHP.
Простейшая программа Hello world на PHP выглядит следующим образом:
Также возможен более короткий вариант вывода строки:
PHP исполняет код, находящийся внутри ограничителей, таких как . Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:
Тестируем PHP
Помимо ограничителей , допускается использование сокращённого варианта . Кроме того, до версии 7.0 допускалось использование ограничителей языка программирования ASP и . Работа сокращённых конструкций определяется в конфигурационном файле php.ini.
Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных и констант чувствительны к регистру символов. Имена классов, методов классов и функций к регистру символов не чувствительны. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<). Переменные в строках, заключённых в одинарные кавычки, не обрабатываются.
PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев, после объявления конструкции if/else и циклов.
Переменные в функцию можно передавать как по значению, так и по ссылке (используется знак &).
PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).
С использованием PHP разработано множество приложений, которые широко используются на различных сайтах, форумах и блогах.
- Drupal, Typo3, Joomla, WordPress— системы управления содержимым (CMS);
- Magento, osCommerce, OpenCart— системы для Интернет-коммерции;
- Coppermine, Gallery Project, 4images— галереи изображений;
- MediaWiki, DokuWiki— вики-движки;
- phpBB, SMF, vBulletin, Invision Power Board— форумные движки;
- phpMyAdmin, phpPgAdmin, Adminer— утилиты администрирования СУБД;
- eyeOS— удалённая операционная система, основанная на принципе Desktop Operating System.
Всё о языке программирования PHP — краткий обзор
PHP (Hypertext Preprocessor) — серверный язык программирования, который обычно используется для разработки веб-приложений. Он идеально подходит для создания динамических веб-страниц и интеграций с базами данных. Язык имеет большое сообщество разработчиков, множество готовых решений и библиотек для различных задач. Это позволяет сэкономить время и ускорить разработку. Но у него всё же есть ограничения в плане безопасности и производительности, поэтому разработчики могут предпочесть ему работу с другими популярными языками программирования.
Какие отличия у PHP от других языков программирования?
- Серверное программирование. Это серверный язык программирования, который исполняется на стороне сервера, в отличие от клиентских языков программирования, таких как JavaScript.
- Интеграция с базами данных. PHP имеет встроенную поддержку для работы с базами данных, такими как MySQL, PostgreSQL и Oracle, что делает его подходящим для создания динамических веб-приложений.
- Большое сообщество разработчиков. У языка огромное сообщество разработчиков, которое постоянно создаёт новые библиотеки и решения для различных задач.
- Простой синтаксис. PHP отличается легко читаемым синтаксисом, который просто изучить.
- Ограничения в плане безопасности и производительности. Действительно есть ограничения в плане безопасности, из-за которых язык реже выбирают для создания крупных и требовательных проектов. Также при создании некоторых проектов может не хватать производительности для больших нагрузок.
Почему PHP до сих пор популярен?
- Простота изучения;
- Широкая поддержка. Язык работает на большинстве платформ и операционных систем, включая Windows, macOS, Linux и Unix.
- Большое сообщество разработчиков: есть огромное сообщество разработчиков, которое постоянно создаёт новые библиотеки.
- Поддержка баз данных;
- Большое количество готовых решений. Благодаря сообществу разработчиков и долгой истории существования, этот язык программирования имеет множество готовых решений для различных задач, включая фреймворки, библиотеки и CMS.
- Поддержка Open-source. Разработчики могут модифицировать и адаптировать язык под свои потребности.
- Наличие большого количества хостинг-провайдеров, поддерживающих PHP. Язык поддерживается множеством хостинг-провайдеров, что делает его простым в использовании и настройке для развёртывания веб-приложений.
- Работа со множеством протоколов: он может работать с различными протоколами, такими как HTTP, HTTPS, FTP, POP3 и IMAP, что делает его гибким и мощным инструментом для создания веб-приложений и других типов программ.
- Интеграция с другими технологиями: язык легко интегрируется с другими технологиями и языками, такими как HTML, CSS, JavaScript, XML и JSON — это большой плюс для создания динамических веб-сайтов и приложений.
PHP действительно мощный и гибкий язык программирования, который подходит для создания динамических веб-приложений и интеграции с другими технологиями. Его популярность и долгая история существования гарантируют надежность и простоту использования, а большое количество сообществ и документации упрощают его изучение. Благодаря множеству библиотек и фреймворков разработка на нём становится ещё более эффективной и быстрой — поэтому многие сайты и веб-приложения по-прежнему создаются на PHP многими разработчиками по всему миру.
Как появился язык PHP?
PHP был разработан Расмусом Лердорфом в 1995 году. В начале использовался как простой скриптовый язык для создания динамических страниц веб-сайтов. Язык быстро развивался и стал одним из самых популярных для создания веб-приложений.

В середине 2000-х годов в версии PHP5 был добавлен объектно-ориентированный синтаксис, что сделало его ещё более мощным и гибким языком. Сейчас существует PHP 8.0 который был выпущен в декабре 2020 года с дополнительными функциями, улучшенной производительностью и новым синтаксисом.
За время существования языка было выпущено множество новых версий. Ниже приведён список некоторых ключевых версий:
- PHP/FI 2.0 — первая официальная версия, выпущенная в 1997 году.
- PHP 3.0 — выпущен в 1998 году с добавлением новых функций и улучшением производительности.
- PHP 4.0 — выпущен в 2000 году с добавлением объектно-ориентированного синтаксиса.
- PHP 5.0 — выпущен в 2004 году с рефакторингом кода и добавлением новых функций, таких как поддержка ООП и исключений.
- PHP 5.3 — выпущен в 2009 году с добавлением нового синтаксиса, а также поддержкой namespaces.
- PHP 5.6 — выпущен в 2014 году с улучшенной производительностью и включал в себя несколько новых функций и улучшений.
- PHP 7.0 выпустили в 2015 году с существенным улучшением производительности и добавлением нового синтаксиса. Эта версия также включала в себя улучшения в безопасности и оптимизации кода.
- PHP 7.1, 7.2, 7.3 выпущены в 2016, 2017 и 2018 годах с добавлением новых функций и улучшениями в производительности.
- PHP 8.0 выпустили в 2020 году, он включает в себя ряд значительных изменений и улучшений, таких как обновлённая поддержка типов, новый движок JIT, новый синтаксис match и union types, а также усовершенствованная поддержка ООП.
Этот язык программирования всё ещё используется во многих веб-проектах и продолжает получать обновления и улучшения, что делает его популярным и конкурентоспособным языком для веб-разработки.
Плюсы и минусы PHP
Плюсы:
- Простота использования: это достаточно простой язык для изучения, особенно для начинающих разработчиков.
- Широкая поддержка: PHP имеет большое комьюнити и множество различных библиотек и фреймворков, которые могут упростить разработку и увеличить эффективность.
- Большое количество способов реализации: язык может быть использован как на сервере, так и на клиенте, и также его можно интегрировать с базами данных, системами управления контентом.
Минусы:
- Устаревший синтаксис. Некоторые старые функции и конструкции могут быть устаревшими и не соответствовать современным стандартам программирования.
- Безопасность. PHP имеет некоторые проблемы с безопасностью, которые могут быть использованы злоумышленниками для взлома сайта или получения доступа к данным. Это требует от разработчиков пристального внимания к вопросам безопасности и применения соответствующих мер защиты.
- Производительность. Иногда язык может быть медленным при обработке больших объёмов данных или выполнении сложных задач.
- Необходимость соответствовать стандартам. Разработчики должны следить за соответствием стандартам кодирования и соблюдать лучшие практики разработки, чтобы избежать ошибок и проблем с производительностью.
- Недостаток общего функционала. В некоторых случаях функциональности может быть недостаточно — тогда придётся использовать дополнительные библиотеки или фреймворки для решения задач.
У PHP широкое разнообразие функциональных возможностей. Он поддерживает множество баз данных, имеет большое сообщество и расширенную документацию, которая помогает разработчикам решать проблемы и находить новые способы решения задач. Но есть и недостатки — низкая производительность при больших объёмах данных или высокой нагрузке, устаревший синтаксис, которые могут быть проблемой при работе над определёнными проектами.

Динамическая типизация PHP
Динамическая типизация означает, что переменные не имеют статического типа и могут хранить значения различных типов данных во время исполнения. Вы не обязаны указывать тип данных для переменной при её объявлении. Например, можно создать переменную «$x» и присвоить ей строковое значение «hello», а затем присвоить числовое значение 42.
Динамическая типизация делает код более гибким и простым для разработки, но также снижает его надёжность и усложняет процесс отладки — могут возникнуть ошибки из-за неожиданного изменения типа данных в переменной. Поэтому использование системы типов и инструментов для проверки типов может улучшить качество кода и упростить отладку.
У PHP есть динамическая типизация и много библиотек, фреймворков, которые делают его удобным для создания веб-приложений и сайтов. Но его динамическая типизация может приводить к непредвиденным ошибкам и сложностям в отладке кода. Использование системы типов и инструментов для проверки типов помогает решить эти проблемы.
Какое будущее ожидает язык PHP?
PHP продолжает развиваться и всё ещё занимает высокую позицию в среде разработки веб-приложений. Он активно используется для решения многих задач. В ближайшее время мы ожидаем продолжения развития языка, в частности, поддержки новых стандартов и инструментов, а также более гибкий и простой в использовании синтаксис. В будущем ждём и дальнейшего расширения в применении этого языка для решения сложных задач.
Изучение
Для начала вы можете ознакомиться с литературой по теме. Потом — пройти онлайн-курсы по языку PHP или посетить лекции и мастер-классы. Для получения практических навыков, можно поработать над несколькими простыми проектами или посмотреть видеоуроки. Ещё один вариант — посетить форумы, где можно получить ответы на свои вопросы и пообщаться с другими разработчиками.
Чтобы начать изучать язык PHP, следует выполнить следующие шаги:
- Понять основные концепции языка программирования, такие как переменные, условные операторы и циклы.
- Скачать и установить локальное разработочное окружение, например, XAMPP, чтобы запускать PHP-скрипты на компьютере.
- Изучить синтаксис, начиная с основных конструкций, таких как переменные, условные операторы и циклы.
- Прочитать книги или пройти онлайн-уроки, которые помогут изучить основы языка.
- Попрактиковаться и написать несколько простых программ для закрепления знаний.
- Изучить дополнительные темы — работа с базами данных, создание форм и обработка данных.
После вы можете расширять свои знания и навыки в следующих направлениях:
- Изучение фреймворков — Laravel, CodeIgniter или Yii, которые предоставляют структуру и инструменты для разработки веб-приложений.
- Изучение библиотек и пакетов, например, Composer — они помогают управлять зависимостями и использовать дополнительные функциональности в проектах.
- Изучение объектно-ориентированного программирования (ООП) и использование ООП-парадигмы при разработке PHP-приложений.
- Работа с веб-сервисами и API, например, использование cURL или Guzzle для отправки запросов и получения данных из других систем.
- Изучение безопасности веб-приложений и практики защиты от взломов, таких как SQL-инъекции, XSS и CSRF.
- Анализ различных методов оптимизации и производительности — кэширование, оптимизация SQL-запросов и использование инструментов для профилирования кода.
- Изучение различных технологий и инструментов, используемых в современной web-разработке — HTML, CSS, JavaScript, AJAX, JSON и другие.
- Практика и разработка реальных проектов с использованием всех изученных знаний и навыков.
FAQ
Для чего нужен PHP?
PHP — это язык программирования, который используется для создания динамических веб-сайтов и приложений. Он подходит для построения бэкэнда, для работы над сайтами и приложениями, а также для разработки серверной логики для доступа к базам данных. PHP также может использоваться для создания интерактивных веб-страниц.
Стоит ли учить язык PHP в 2023 году?
Да, ведь он до сих пор используется для создания страниц и приложений. PHP — один из самых популярных языков программирования, который продолжает развиваться. Программирование на этом языке точно полезно для разработки интернет-приложений и веб-сайтов — поэтому учить его в 2023 году программисту — это мастхэв.
Сколько зарабатывают PHP-программисты?
Заработная плата таких программистов зависит от их места проживания, компании и опыта работы. Средняя заработная плата составляет от 40 000 до 80 000 рублей в месяц.
С чего начать изучать программирование?
Один из самых быстрых и эффективных путей войти в IT-сферу — это онлайн-курсы. Выбирайте подходящее обучение программированию на сайте tutortop. Для вас мы сформировали отдельную подборку лучших онлайн-курсов в этом направлении.
Анна Уженкова
Копирайтер. Увлекается литературой и любит разбираться в сложных вещах. В работе ценит сам процесс — тексты, это не просто тексты, а возможность на что-то повлиять. Среди тем, которые нравятся, — образование, психология, IT.
Применение PHP: почему рано хоронить язык и кому стоит его изучать
PHP — самый «живучий» язык программирования. Который год ему пророчат скорую гибель, но он по-прежнему один из самых популярных. В 2020 году в индексе TIOBE язык PHP занял 8 место, опережая Swift, Ruby и Objective-C.
И раз PHP ещё рано списывать со счетов, разберёмся — где его используют, зачем нужен PHP и что это вообще такое.
Особенности языка PHP
Эти особенности определяют то, как PHP выполняет задачи, общается с сайтами и приложениями и кто его может менять (спойлер — все).
PHP — скриптовый (сценарный) язык. На таких языках пишут сценарии или скрипты — программы, которые автоматизируют небольшие рутинные задачи. Иначе их попросту пришлось бы выполнять вручную.

Как работает PHP, объясняют на канале сообщества веб-разработчиков WebShakeRU
Зачем нужны скрипты
- Помогают избежать ошибок . И экономят время пользователя — можно изменить программу и не бояться, что всё остальное перестанет работать и вся система рассыпется. Если вдруг в скрипте обнаружится ошибка, то при его выполнении вы увидите её в результате. При этом сайт останется работоспособным.
- Позволяют легко реализовать кроссплатформенность. Одни и те же сценарии без проблем выполняют браузеры в разных операционных системах и на разных устройствах.
Выполнение сценария также называют его интерпретацией, а сам PHP — интерпретатором.
Аналогия, которая поможет лучше представить работу интерпретатора:
Есть файл, где половина текста на русском, а половина — на английском. Задача — перевести весь текст на русский. Точно так же и обработчик смотрит .php файл, который состоит из HTML (русский) и php-кода (английский, его надо обрабатывать, «переводить»)
PHP — интерпретируемый язык. Раз PHP — интерпретатор, это даёт много плюсов:
- не нужно освобождать выделенную память или закрывать файлы по окончании работы с ними — всю рутинную работу сделает интерпретатор;
- отладка программ и обнаружение ошибок упрощаются — интерпретатор полностью контролирует этот процесс;
- сервер не «зависает» при неправильной работе приложения.
PHP — серверный язык. Всё работа происходит на удалённом веб-сервере. Открываете сайт — на сервер посылается запрос, выполняет заданные действия, отдаёт результат и завершается.
Что такое веб-сервер
Веб-сервер — это и про железо, и про программное обеспечение.
- с точки зрения железа, это компьютер, который хранит ресурсы сайта (HTML-документы, CSS-стили, JavaScript-файлы) и доставляет их на устройство (браузер) пользователя. Обычно он подключен к интернету и доступен через доменное имя.
Mozilla.org, youtube.com, shop.reg.ru — всё это доменные имена. - с точки зрения ПО, это HTTP-сервер — та часть ПО, которая понимает урлы (веб-адреса) и HTTP — протокол, который использует ваш браузер для просмотра веб-страниц.
Когда браузеру нужен файл, размещённый на веб-сервере, он запрашивает его через HTTP. Когда запрос достигает веб-сервера (железо), сервер HTTP (ПО) передает запрашиваемый документ обратно, тоже через HTTP. HTTP-ответ, как правило, содержит в себе HTML-страницу, изображение или обычный файл любого формата.
Это значит то, что на устройстве язык может быть вообще не установлен. Компьютер, ноутбук, смартфон могут PHP не понимать и быть c ним совершенно не знакомы. А сайт или приложение при этом запускается и стабильно работает.
Браузер тоже значения не имеет — программа на PHP успешно функционирует с любого.
Схема работы веб-сервера от сайта Lectureswww.readthedocs.io
PHP — язык с динамической типизацией. Это значит, что типы переменных определяются во время выполнения программы, разные типы можно использовать вместе, а неявные преобразования выполняются автоматически.
Статистическая vs динамическая типизация
Языки программирования бывают со статической и динамической типизацией.
- статическая — переменная определена жёстко и не может быть изменена. Переменная или параметр будут принимать, а функция — возвращать значения только этого типа и никак иначе.
- динамическая — переменная не определена и может быть одновременно числом, строкой, массивом, объектом — чем угодно. Одной переменной можно присвоить число, затем массив и объект — и язык программирования это разрешит.
PHP — язык с открытым исходным кодом. Дополнять и улучшать язык PHP, исправлять уязвимости и ошибки, добавлять новые функции и использовать его в собственных разработках может любой желающий.
Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!
Подписывайся на канал
Подписаться
Зачем придумали PHP
PHP изобрёл в 1994 году датский программист Расмус Лердорф. Тогда это был ещё не полноценный язык программирования, а всего лишь набор скриптов, который позволил Лердорфу сделать первое онлайн-резюме в виде HTML-страницы.
PHP расшифровывается как Personal Home Page — и отсылает к тому, чем язык был изначально — инструментом для разработки персональных веб-страниц
В то время создавать сайты можно было только так и не штудировать при этом тома по программированию.
Сейчас PHP поддерживает компания Zend Technologies: в 1997 году она выпустила третью версию языка и активно развивают его до сих пор.
В итоге проект разросся до такой степени, что получил собственный синтаксис, много новых функций и признание в среде разработчиков.
Эволюция версий
Прежде чем стать одним из самых популярных языков программирования, PHP прошёл долгий путь. Проследим, как он изменился от первой версии к последней.
PHP 1.0-2.0 — 1994. Ранние версии были «сырыми». Первая и вторая модификации обладали базовой функциональностью сегодняшнего PHP. Она включала в себя переменные в стиле Perl — языка для работы с текстом, который и лёг в основу PHP, автоматическую интерпретацию форм, когда по приходу формы язык автоматически создаёт переменные, и возможность встраиваться в HTML-код.
Синтаксис имел много общего с Perl, хотя и был намного проще.
Второй версией PHP, которая получила название PHP/FI 2.0, пользовались 50 тысяч доменов — около 1% всех доменов в интернете
PHP 3.0 — 1997. Третья версия, по сравнению с предыдущими, шагнула далеко вперёд, и определила облик PHP, сделав язык таким, каким мы его знаем.
Израильские программисты Зеев Сураски и Энди Гутманс, которые тогда присоединились к проекту, решили переписать код заново, потому что PHP/FI 2.0 был очень ограниченным.
Одна из сильнейших сторон PHP 3.0 — возможность расширения ядра, которая привлекла к языку много сторонних разработчиков, желающих добавить в PHP свои модули. Это и стало ключом к успеху.
К концу 1998 года количество пользователей PHP исчислялось десятками тысяч. Третья версия уже заняла заняла 10% веб-серверов интернета, включая тех, что находились под управлением Windows 95, 98, NT и Macintosh. Её установили уже на семи тысячах доменов
PHP 4.0 — 1998. Переработка ядра — основная задача, которую поставили перед собой разработчики после выхода PHP 3.0. Эффективность приложений, написанных на PHP, была далека от идеала — нужно было что-то с этим делать. Новый движок Zend Engine решил проблему и значительно увеличил производительность PHP.
PHP 5.0 — 2004. Пятая версия получила обновлённое ядро — Zend Engine 2 и переработанные функции объектно-ориентированного программирования, которые стали во многом схожи с моделью, используемой в Java. А скорость кода повысилась на 10–20%.
PHP 6.0 — 2006. Шестую версию пропустили. В неё хотели встроить поддержку Unicode — стандарта кодирования, включающего в себя знаки почти всех письменных языков мира. Но релиз так и не состоялся. Вот почему:
«PHP 6 был амбициозным, но отстойным. Вот почему мы занялись PHP 7, в процессе пропустив шестую версию»
Vilson Duka , один из разработчиков
PHP 7.0 — 2015. Самая быстрая версия языка, работающая без статической типизации — она есть только в параметрах функции. Добавили новые операторы, возможность указывать тип возвращаемых из функции данных и контроль передаваемых типов для данных.

Как развивался PHP с момента возникновения: основные вехи. Видео от Питера Кокота
PHP продолжает развиваться. Сейчас тестируют восьмую версию, которую планирую выпустить в 2021-2022 годах.
Словарик
Модуль — законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом.
Оператор — элемент языка, задающий полное описание действия, которое необходимо выполнить. По сути, это последовательность «инструкций», которая помогает программе совершать команду или набор команд.
Объектно-ориентированное программирование (ООП) — методология программирования, она основана на представлении программы в виде совокупности объектов, каждый из которых — экземпляр определённого класса, а классы в свою очередь образуют иерархию наследования.
Чем хорош PHP
Вот основные преимущества PHP, благодаря которым он имеет армию поклонников по всему миру и по-прежнему живёт и процветает.
Простой синтаксис. По своей структуре PHP подобен С. Некоторые элементы перекочевали из Perl. А чтобы написать простейший скрипт, не понадобятся переменные и модули — достаточно операторов PHP.
Пример кода от онлайн-школы Skillbox , выводящего надпись «Hello, World» на PHP, вставленного в HTML
Богатая экосистема. PHP поддерживает много библиотек, фреймворков и баз данных.
YII, Laravel, Symfony, CodeIgniter, Phalcon, Slim, ZendFramework, CakePHP, Aura, Fat-free — далеко не полный список фреймворков, с которыми работает PHP
PHP поддерживает все известные базы данных — MySQL, PostgreSQL, SQLite, MS SQL, Oracle, dBase и др.
Список библиотек, которые поддерживают PHP
Лёгкость освоения. Не нужно устанавливать специальные компиляторы — хватит простейшего хостинга, даже бесплатного, и блокнота. Даже новички смогут освоить язык за одну-две недели.
Подробная документация и много форумов, где можно найти решение определённых задач.
Если вы начинающий разработчик, вам подойдёт курс «PHP-разработчик. Базовый уровень» от SkillBox, на котором вы изучите основы, синтаксис PHP и сможете сразу использовать полученные знания на практике
За что ругают PHP
Но не лишён PHP и существенных недостатков, за которые его принято критиковать.
Много багов. У гибкости и простоты языка есть и обратная сторона: написать чистый и качественный код сложно, допустить ошибку легко, а найти её почти нереально — это можно сделать только после запуска программы. Из-за этого у PHP очень много багов — намного больше, чем у остальных. Отсюда же и многочисленные уязвимости, через которые можно залезть в базы данных пользователей или что-то поломать на сайте.
Смешанный код. Исходный код — это смесь из двух языков, самого PHP и HTML, в который он встраивается. Это не проблема для маленьких отдельных фрагментов, но если речь идёт о большом многостраничном сайте, то разобраться, где вы сейчас находитесь, или отыскать необходимый кусок кода, довольно затруднительно.
Любые переменные в любом месте. В PHP можно просто поставить знак «$» в любой части кода. Конечно, это упрощает жизнь — берёте переменную и делаете с ней что хотите. Но потом проблемы неизбежны. Присвоили переменной не тот тип — и всё пошло не так. При этом всё работает, но неправильно. Можно голову сломать, думая, что не так, но так и не выяснить, в чём же дело. Другие языки, Java или C#, таких вольностей попросту не допускают и дают за них по рукам, требуя переменную объявлять заранее и сразу указывать тип.
Не работает в одиночку. От самого по себе PHP толку мало — чтобы пользоваться языком, нужно знать как минимум HTML, а лучше ещё и CSS. JavaScript тоже не помешает.
Отсутствие единообразия. Нет чёткой системы в названиях функций стандартной библиотеки.
В некоторых есть сокращения, в некоторых нет (call_user_func vs. create_function)
В некоторых есть подчёркивание, в некоторых нет (isset vs. is_null)
Обозначение str иногда бывает в названиях функций для работы со строками, иногда нет
Низкая скорость. PHP — не самый производительный язык. Его конкурент Javascript — быстрее.
Для чего нужен PHP
Веб-разработка — это единственное назначение PHP. На нём нельзя написать приложения, язык не используют в мобильной разработке — только веб. Но эта область огромна.
Вот что можно сделать на PHP:
- Отдельные модули. PHP-код можно встраивать в HTML-страницы, а можно сохранить отдельным файлом. В этом случае мы получаем мини-модули, каждый из которых отвечает за что-то одно.
Этими модулями могут быть шапка сайта, подвал, меню или блок с отзывами о товаре.
Многие страницы портала Yahoo! созданы на PHP
- CMS и движки сайтов. Модульные возможности PHP способствовали тому, что большинство современных систем управления контентом на сайтах написаны на PHP.
WordPress, Drupal, Joomla, MediaWiki, OpenCart, phpMyAdmin написаны на PHP
- Форму для сбора данных и системы авторизации. Достаточно сообщить языку, что взять, из какого поля и по какому адресу отправить, а всё остальное интерпретатор сделает самостоятельно.
- Динамические страницы. PHP-скрипт, который в зависимости от URL показывает разный контент.
- Сессии и куки. Они нужны, чтобы хранить данные о пользователях при переходе между страницами. И это тоже механизм PHP, который можно реализовать через функции session_start().
Освойте PHP c нуля и станьте экспертом в нём на курсе «PHP-разработчик с нуля до PRO» от Skillbox. Вы научитесь создавать сайты и программы и работать с базами данных
Будущее PHP: что говорят эксперты
Вот что говорят о PHP программисты со стажем.
Илья Харченко, главный редактор The MASCC
«Есть умирающие языки, типа COBOL и FORTRAN. Есть традиционные языки, на которых работает, например, Microsoft — C# и JavaScript. Есть современные языки, пик возможностей которых ещё только ожидается — Kotlin, Crystal, Rust и Swift.
PHP сложно отнести к какому-то конкретному виду. Он точно не умирает, его нельзя назвать молодым, а из-за постоянного совершенствования его возможности и функционал только растут, из-за чего он будет популярен на протяжении ближайших лет десяти. Сложно предсказать, что будет с ним ещё через десять лет. Даже если он вдруг по каким-то причинам потеряет популярность, то к тому моменту на нём будут написаны миллиарды строк кода, требующих обслуживания»
Максим Жук, инженер-программист практики фронтенд компании «Рексофт»
«PHP остаётся одним из самых востребованных языков разработки серверной части веб-приложений. Хотя последние годы его начали теснить Node Js и Python, а со стороны решений для больших компаний пальма первенства у Java и .Net, но даже суммарно они занимают меньший рынок, чем PHP»
Эдуард Козлов, сооснователь BrainForce
«PHP продолжает находиться в топе языков, то немного опускаясь вниз, то опять поднимаясь вверх. Это классический язык, но он постоянно развивается: выходят новые версии языка, новые фреймворки и библиотеки. Если учесть распространение проектов на PHP в интернете, он будет развиваться и использоваться ещё много лет.
Рынок труда в 2020 году глобально изменился. Если раньше главным критерием наличия рабочего места был офис, то теперь из-за мировой пандемии даже компании с мировым именем стали использовать удалённую работу. Это открывает огромный потенциал для начинающих PHP-разработчиков. Если посмотреть вакансии на hh.ru, то они по-прежнему остаются в тренде!»
Подробнее о профессии PHP-программиста — читайте в этой статье
Стоит ли изучать PHP в 2021 году
Определённо стоит. PHP — популярный, простой в освоении язык для бэкенда, открывающий при этом большие возможности.
Будут ли веб-разработчики массово переходить на другие технологии — вопрос открытый. Сейчас, если вы приобретаете виртуальный хостинг, вам сразу включают интерпретатор PHP, потому что все его используют. А другие технологии типа Python или Node.js — нет, их нужно устанавливать отдельно.
Но ведь и веб — это не навсегда. Ещё лет 20, и понятие веб-сайта может устареть, потому что люди будут сидеть в приложениях и соцсетях.
Но ближайшие лет 5–10 спрос на язык точно будет. Он эволюционирует, скоро выйдет восьмая версия, да и отказаться от него не так-то просто — на PHP написано 80% интернета.
Так что можно спокойно изучать PHP и быть уверенным, что полученные навыки пригодятся. Особенно если вы хотите работать с «Вордпрессом», «Друпалом», «Джумлой» и другими известными системами управления сайтами. Они написаны на PHP, и все надстройки и дополнения — тоже.
Коротко о главном
Чтобы всё уложить в голове, держите шпаргалку:
- Что такое PHP — серверный сценарный язык с открытым исходным кодом.
- Зачем создали PHP — чтобы делать простые персональные страницы, а затем и полноценные сайты.
- Версии PHP — первая и вторая обладали базовой функциональностью PHP. Третья определила облик языка, в ней же появилась возможность расширения ядра, которая принесла PHP успех. Пятая прославилась за счёт обновлённого ядра и объектно-ориентированной модели, шестая не вышла, а седьмая — самая быстрая из предшествующих.
- Преимущества PHP — интерпретируемость, простой синтаксис, обширная экосистема, низкий порог входа.
- Недостатки PHP — грязный код, низкая скорость, проблемы с безопасностью, нестабильность системы.
- Что пишут на PHP — динамические страницы, сессии и куки, CMS и движки сайтов, формы авторизации и обратной связи, мини-модули, капчу, файловые менеджеры и текстовые редакторы.

Основатель образовательной платформы «Хекслет» (практические курсы по веб-разработке), программист Кирилл Мокевнин рекомендует изучать PHP в том случае, если вы хотите быстро войти в IT или устроиться в диджитал-студию
Если вас привлекает веб-разработка, PHP — ваш вариант: работая с PHP, вы освоите ещё HTML и CSS и попробуете себя в объектно-ориентированном программировании. А если не хотите ограничиваться веб-разработкой, присмотритесь к JavaScript или Python.
