php это интерпретируемый язык
Определение и особенности языка PHP
Что такое PHP
Начнём с определения того, чем именно является PHP. Сложно в одном предложении дать полное представление об этом языке, поэтому опишем его следующими тремя характеристиками:
PHP — это препроцессор гипертекста (HTML).
PHP — это серверный язык программирования.
PHP — это скриптовый, интерпретируемый язык программирования.
Зачем нужен PHP
Поясним каждое из определений и узнаем, в каких задачах будет полезен PHP.
Основная задача PHP — это «оживление» HTML страниц.
Обычные HTML-страницы статичны. Статичность (или неизменность) означает, что после того, как страницу создали и загрузили на сайт, при каждом обращении к этой странице браузер покажет её любому пользователю в неизменном виде.
Но этого не всегда достаточно.
Почти всегда пользователи приходят на сайт за информацией, которая всё время меняется, и нужно отображать её актуальное состояние. Например:
Если использовать только HTML, то решить такие задачи не получится. Здесь-то нам и понадобится PHP. Он принимает входящий запрос от веб-сервера, выполняет сценарий и возвращает веб-серверу результат в виде готового HTML-код. Сервер отправляет этот результат в браузер пользователю, который, в свою очередь, отображает её пользователю. После этого видно свежий курс валют, погоду, и что угодно ещё.
РНР позволяет изменять веб-страницу на сервере непосредственно перед тем, как она будет отправлена браузеру. Давайте разберёмся, как это работает. PHP умеет исполнять код — так называемые сценарии. В ходе исполнения PHP может изменить или динамически создать любой HTML-код, который и является результатом исполнения сценария. Затем сервер отправляет этот код браузеру. При этом браузеру не известно, как была сформирована данная страница — статично сверстана верстальщиком, или динамически создана при участии PHP. Это не важно, т.к. браузер всегда работает только с тем, что получил от сервера.
Давайте запомним, что сценарий — это программа, которая находится на стороне сервера и запускается в ответ на запрос от браузера.
Выполнение сценария также называют его интерпретацией, а сам PHP — интерпретатором.
Вы можете попрактиковаться в создании динамических страниц с помощью PHP в этом тренажёре.
Где используется PHP
Основная сфера применения языка PHP — это веб, то есть сайты, которые мы каждый день посещаем через браузер компьютера или смартфона. Важно понимать, что веб — это не весь интернет, а только самая большая и популярная его часть. Кроме веба через интернет работает электронная почта, мессенджеры, файлообменные сервисы, сетевые игры и многое другое.
Практически каждый сайт, который есть в интернете, работает на PHP. Этот язык отлично подходит для любых динамических веб-сайтов, среди которых:
Установка и использование
На нашем курсе мы будем работать с версией PHP 7.1
Где скачать PHP?
Мы рекомендуем использовать программную сборку OpenServer. После загрузки и установки на вашем компьютере появятся свежая версия PHP, веб-сервер, база данных, и много других программ и инструментов для удобной работы. Подробнее об установке и использовании мы рассказываем на первой лекции.
Как выглядит PHP-сценарий
Типичный PHP-сценарий — это набор выражений. Каждое выражение начинается с новой строчки и заканчивается точкой с запятой.
Выражение — это инструкция, которая приказывает PHP-интерпретатору выполнить одно действие, например, сложить два числа или вывести на экран информацию. Давайте посмотрим на самый простой сценарий. Он будет выводить на экран одну строку: «Привет, Мир!»:
В нашем примере сценарий состоит из всего одной инструкции: print(«Привет, мир»);
Здесь мы просим функцию print вывести на экран наш текст — «Привет, Мир!». Это можно рассматривать как подлежащее и сказуемое в русском языке, где функция print — это сказуемое, а «Привет, Мир!» — подлежащее.
Как мы уже знаем, PHP можно встроить в статичные HTML-файлы и модифицировать их с помощью инструкций. Вот как будет выглядеть тот же пример с выводом текста, но расположенный внутри HTML:
Потренироваться вставлять код на PHP в разметку можно в этом задании.
Для чего используют PHP и почему его ненавидят
Для чего нужен PHP: какие возможности он дает разработчикам, что можно реализовать с его помощью и в чем главная боль PHP-разработчиков
PHP — один из самых распространенных языков web-разработки. Он применяется для создания сайтов и web-приложений любой сложности. от лендингов и блогов до интернет-магазинов и браузерных игр.
Его преимущества — в широких возможностях и защищенности благодаря закрытому исходному коду. К минусам можно отнести то, что без сервера с интерпретатором код работать не будет (исправлено в новых версиях языка).
Какие задачи можно решить на PHP
В PHP поддерживаются применение функций, математические вычисления, работа с переменными (как в примере выше) и массивами, прописывание условий «если — то», создание объектов и многое другое. Чаще всего это используется:
Теперь обо всем этом по порядку.
Формы
Если вы знакомы с html, то знаете, что с его помощью нельзя просто так получить информацию, введенную пользователем. То есть вы можете создать красивую форму, но без PHP или другого подобного языка все данные просто исчезнут, когда он нажмет кнопку «Отправить».
Для начала создается форма подобного вида:
На PHP вполне можно создать файловый менеджер или текстовый редактор.
Изображения
Используется, например, для реализации капчи, когда нужно, чтобы каждый раз выводилось уникальное число. Для этого создается файл captcha.php, а потом он указывается как ссылка на изображение.
В самом этом файле генерируется случайное число, а потом выводится на изображение. Или можно обрезать картинку, загруженную пользователем. Например, если необходимо подогнать все аватарки под один размер.
Если вы собираетесь использовать этот код, добавьте масштабирование и поработайте над соотношением сторон.
Парсинг
Парсинг — это сбор информации с других сайтов. Например, вы часто могли видеть поиск по сайту, который реализован с помощью Google или «Яндекса».
Так это реализуется с помощью библиотеки PHP Simple HTML DOM Parser. Но, как вы могли заметить, мы получили все ссылки на странице — то есть не только ведущие на найденные сайты, но и ведущие на другие проекты «Яндекса».
Почему программисты ненавидят PHP
Если вы были хоть на одном форуме для программистов, то могли увидеть множество негативных высказываний.
Одна из причин ненависти к PHP — переменные. Если в других языках их нужно объявить заранее, да еще и указав тип, то в PHP можно просто поставить знак «$» в любой части кода.
С одной стороны, это упрощает жизнь. С другой — в переменную можно поместить что угодно и когда угодно. У них нет какого-то типа, а это значит, что число запросто может стать строкой. Если вы этого не хотели, то вместо вычислений вы получите ошибку. Это и дар, и проклятие одновременно.
Следующая причина — смешанный код. PHP приходится использовать в файлах с версткой HTML. Это затрудняет работу с кодом, потому что не всегда можно легко найти нужный фрагмент или понять, где ты находишься сейчас.
Другие языки, вроде JavaScript, можно выносить в отдельный файл и оттуда взаимодействовать со страницей. В PHP же это будет выглядеть так:
То есть исходный код является смесью двух языков. Хотя этого можно избежать, если не писать код в этом же файле, а подключать другие, как это было в примере с подключением шапки и футера.
Еще PHP достаточно прост в изучении, поэтому на нем создано около 83% сайтов по всему интернету. Его простота стала причиной появления миллионов сайтов с кривым кодом. Поэтому можно сказать, что ненависть вызвана неопытными разработчиками.
Новички любят всё усложнять и пишут так:
Хотя можно написать так:
И хотя таких примеров много и в других языках, именно простота PHP послужила благоприятной средой для появления всего этого добра. Если на C# придется постараться, чтобы заставить кривой код работать, то PHP постарается за вас.
Также можно сказать, что определенная доля предвзятости будет всегда. В новых версиях языка исправлено очень много ошибок, но программисты все равно продолжают смеяться над ними, потому что сложилась такая традиция.
У PHP на самом деле много недостатков:
Многие ошибки исправляются, и с каждой версией их становится меньше, хотя PHP считают «мертвым» языком уже больше 20 лет.
Заключение
PHP — отличный язык, с помощью которого можно реализовать любой функционал. Хоть его и не любят многие разработчики, со своей задачей он справляется отлично. И неразумно игнорировать его просто потому, что так делают многие, — нужно просто подстроиться под несколько недостатков, чтобы воспользоваться огромным количеством преимуществ.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Применение PHP: почему рано хоронить язык и кому стоит его изучать
PHP — самый «живучий» язык программирования. Который год ему пророчат скорую гибель, но он по-прежнему один из самых популярных. В 2020 году в индексе TIOBE язык PHP занял 8 место, опережая Swift, Ruby и Objective-C.
И раз PHP ещё рано списывать со счетов, разберёмся — где его используют, как и для чего.
Особенности языка PHP
Эти особенности определяют то, как PHP выполняет задачи, общается с сайтами и приложениями и кто его может менять (спойлер — все).
PHP — скриптовый (сценарный) язык. На таких языках пишут сценарии или скрипты — программы, которые автоматизируют небольшие рутинные задачи. Иначе их попросту пришлось бы выполнять вручную.
Как работает PHP, объясняют на канале сообщества веб-разработчиков WebShakeRU
Зачем нужны скрипты
Выполнение сценария также называют его интерпретацией, а сам PHP — интерпретатором.
Аналогия, которая поможет лучше представить работу интерпретатора:
PHP — интерпретируемый язык. Раз PHP — интерпретатор, это даёт много плюсов:
PHP — серверный язык. Всё работа происходит на удалённом веб-сервере. Открываете сайт — на сервер посылается запрос, выполняет заданные действия, отдаёт результат и завершается.
Что такое веб-сервер
Веб-сервер — это и про железо, и про программное обеспечение.
Когда браузеру нужен файл, размещённый на веб-сервере, он запрашивает его через HTTP. Когда запрос достигает веб-сервера (железо), сервер HTTP (ПО) передает запрашиваемый документ обратно, тоже через HTTP. HTTP-ответ, как правило, содержит в себе HTML-страницу, изображение или обычный файл любого формата.
Это значит то, что на устройстве язык может быть вообще не установлен. Компьютер, ноутбук, смартфон могут PHP не понимать и быть c ним совершенно не знакомы. А сайт или приложение при этом запускается и стабильно работает.
Браузер тоже значения не имеет — программа на PHP успешно функционирует с любого.
Схема работы веб-сервера от сайта Lectureswww.readthedocs.io
PHP — язык с динамической типизацией. Это значит, что типы переменных определяются во время выполнения программы, разные типы можно использовать вместе, а неявные преобразования выполняются автоматически.
Статистическая vs динамическая типизация
Языки программирования бывают со статической и динамической типизацией.
PHP — язык с открытым исходным кодом. Дополнять и улучшать язык PHP, исправлять уязвимости и ошибки, добавлять новые функции и использовать его в собственных разработках может любой желающий.
Зачем придумали 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, в процессе пропустив шестую версию»
PHP 7.0 — 2015. Самая быстрая версия языка, работающая без статической типизации — она есть только в параметрах функции. Добавили новые операторы, возможность указывать тип возвращаемых из функции данных и контроль передаваемых типов для данных.
Как развивался PHP с момента возникновения: основные вехи. Видео от Питера Кокота
PHP продолжает развиваться. Сейчас тестируют восьмую версию, которую планирую выпустить в 2021-2022 годах.
Словарик
Модуль — законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом.
Оператор — элемент языка, задающий полное описание действия, которое необходимо выполнить. По сути, это последовательность «инструкций», которая помогает программе совершать команду или набор команд.
Объектно-ориентированное программирование (ООП) — методология программирования, она основана на представлении программы в виде совокупности объектов, каждый из которых — экземпляр определённого класса, а классы в свою очередь образуют иерархию наследования.
Чем хорош PHP
Вот основные преимущества PHP, благодаря которым он имеет армию поклонников по всему миру и по-прежнему живёт и процветает.
Простой синтаксис. По своей структуре PHP подобен С. Некоторые элементы перекочевали из Perl. А чтобы написать простейший скрипт, не понадобятся переменные и модули — достаточно операторов PHP.
Богатая экосистема. 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:
Этими модулями могут быть шапка сайта, подвал, меню или блок с отзывами о товаре.
Многие страницы портала Yahoo! созданы на PHP
WordPress, Drupal, Joomla, MediaWiki, OpenCart, phpMyAdmin написаны на PHP
Facebook, страница регистрации. Вся серверная часть соцсети сделана на PHP
Освойте PHP c нуля и станьте экспертом в нём на курсе «PHP-разработчик с нуля до PRO» от Skillbox. Вы научитесь создавать сайты и программы и работать с базами данных
Будущее PHP: что говорят эксперты
Вот что говорят о PHP программисты со стажем.
Илья Харченко, главный редактор The MASCC
«Есть умирающие языки, типа COBOL и FORTRAN. Есть традиционные языки, на которых работает, например, Microsoft — C# и JavaScript. Есть современные языки, пик возможностей которых ещё только ожидается — Kotlin, Crystal, Rust и Swift.
PHP сложно отнести к какому-то конкретному виду. Он точно не умирает, его нельзя назвать молодым, а из-за постоянного совершенствования его возможности и функционал только растут, из-за чего он будет популярен на протяжении ближайших лет десяти. Сложно предсказать, что будет с ним ещё через десять лет. Даже если он вдруг по каким-то причинам потеряет популярность, то к тому моменту на нём будут написаны миллиарды строк кода, требующих обслуживания»
Максим Жук, инженер-программист практики фронтенд компании «Рексофт»
Эдуард Козлов, сооснователь BrainForce
«PHP продолжает находиться в топе языков, то немного опускаясь вниз, то опять поднимаясь вверх. Это классический язык, но он постоянно развивается: выходят новые версии языка, новые фреймворки и библиотеки. Если учесть распространение проектов на PHP в интернете, он будет развиваться и использоваться ещё много лет.
Рынок труда в 2020 году глобально изменился. Если раньше главным критерием наличия рабочего места был офис, то теперь из-за мировой пандемии даже компании с мировым именем стали использовать удалённую работу. Это открывает огромный потенциал для начинающих PHP-разработчиков. Если посмотреть вакансии на hh.ru, то они по-прежнему остаются в тренде!»
Подробнее о профессии PHP-программиста — читайте в этой статье
Стоит ли изучать PHP в 2021 году
Определённо стоит. PHP — популярный, простой в освоении язык для бэкенда, открывающий при этом большие возможности.
Будут ли веб-разработчики массово переходить на другие технологии — вопрос открытый. Сейчас, если вы приобретаете виртуальный хостинг, вам сразу включают интерпретатор PHP, потому что все его используют. А другие технологии типа Python или Node.js — нет, их нужно устанавливать отдельно.
Но ведь и веб — это не навсегда. Ещё лет 20, и понятие веб-сайта может устареть, потому что люди будут сидеть в приложениях и соцсетях.
Но ближайшие лет 5–10 спрос на язык точно будет. Он эволюционирует, скоро выйдет восьмая версия, да и отказаться от него не так-то просто — на PHP написано 80% интернета.
Так что можно спокойно изучать PHP и быть уверенным, что полученные навыки пригодятся. Особенно если вы хотите работать с «Вордпрессом», «Друпалом», «Джумлой» и другими известными системами управления сайтами. Они написаны на PHP, и все надстройки и дополнения — тоже.
Коротко о главном
Чтобы всё уложить в голове, держите шпаргалку:
Основатель образовательной платформы «Хекслет» (практические курсы по веб-разработке), программист Кирилл Мокевнин рекомендует изучать PHP в том случае, если вы хотите быстро войти в IT или устроиться в диджитал-студию
Если вас привлекает веб-разработка, PHP — ваш вариант: работая с PHP, вы освоите ещё HTML и CSS и попробуете себя в объектно-ориентированном программировании. А если не хотите ограничиваться веб-разработкой, присмотритесь к JavaScript или Python.
Что такое PHP и почему его все ненавидят
Несмотря на то, что 83% сайтов в интернете работают на PHP.
История языка
Изначально PHP расшифровывался как Personal Home Page Tools — инструменты для создания персональных страниц. Дело в том, что раньше, чтобы сделать функциональный сайт, чаще всего использовали C, Perl и CGI-скрипты. Звучит сложно, на деле — тоже сложно. Единственным способом сделать что-то своё и не изучать при этом три тома по программированию был PHP.
Например, можно сделать так:
Привет! А вы знаете, что
В результате на странице получится строчка: «Привет! А вы знаете, что этот код написан на PHP?»
Ещё можно создавать целые PHP-файлы и писать весь код там, а потом просто подключать эти файлы в нужный момент. Получается, что с PHP можно работать в двух режимах: писать код прямо в коде страницы или выносить всё в отдельные файлы.
PHP — это просто
Именно простота этого языка принесла ему дурную славу: слишком много появилось плохого кода, который на первый взгляд работал хорошо. Посмотрите сами: начать писать на PHP действительно просто.
Комментарии и точка с запятой. Комментарии можно ставить в любом месте — достаточно написать два слеша подряд. А точка с запятой ставится после каждой команды — точно так же, как в С, Pascal, JavaScript и ещё в сотнях других языков.
Объявление переменных. Чтобы объявить переменную, нужно просто поставить знак доллара, после него написать название переменной и присвоить ей какое-то значение.
Вывод на экран. В HTML-коде достаточно вставить команду echo, которая помещает текст в то место, откуда вызвали команду. Например, этот код покажет заголовок первого уровня с текстом «Заголовок, собранный на PHP»:
И этот код сделает то же самое:
Ещё в PHP есть классы и объекты, автоматическое приведение типов (хотя мало кто понимает, как оно там работает в сложных примерах) и множество встроенных функций, которые упрощают разработку и помогают быстро писать код. А самое главное — PHP сам заставляет работать любой код, если он хоть как-то написан по правилам языка. Даже если внутри будет полная чушь, но похожая на PHP-код — интерпретатор его старательно выполнит, и, скорее всего, многое из этого будет даже работать.
Для чего нужен PHP
Собирать страницы из модулей. Если помните, PHP-код можно встраивать в HTML-страницы, а можно сохранять как отдельные файлы. В этом случае мы получаем мини-модули, каждый из которых отвечает за что-то одно. Например, в одном мы пишем, как будет выглядеть шапка сайта, в другом — меню, третий файл будет отвечать за подвал, четвёртый — за блок с отзывами о товарах.
Если у нас интернет-магазин и на каждой странице товара нужно показать шапку сайта и подвал, можно каждый раз прописывать это вручную, а можно собрать на PHP. Для этого достаточно в теле страницы написать что-то такое:
PHP возьмёт файл header.php, в котором мы написали, как должна выглядеть шапка сайта, и поставит её в начало страницы. То же самое сделает и с подвалом — файлом footer.php, и так будет на каждой странице товара. Получается, что нам не нужно писать один и тот же код шапки и подвала на каждой странице, достаточно сделать это в одном месте, а потом подключать одной строчкой.
Создавать CMS и движки для сайтов. Такие модульные возможности PHP привели к тому, что большинство современных систем управления контентом на сайтах написаны на PHP. Смотрите сами:
Если вы на бесплатном хостинге используете какой-то инструмент для создания или поддержки сайта, скорее всего, он тоже будет написан на PHP.
Работать с формами и данными на странице. HTML плохо умеет работать с формами и отправлять куда-то данные, которые вы вводите в поля регистрации. PHP справляется с этим гораздо лучше: вы говорите, из какого поля что нужно взять и по какому адресу отправить, а всё остальное интерпретатор делает за вас.
Запоминать пользователей и делать формы авторизации. Если вам нужно быстро написать свою форму регистрации на сайте или запоминать посетителей даже без регистрации, то PHP — самый простой вариант решения этой задачи. Единственное, что нужно знать — как работать с базами данных, где хранятся записи о пользователях, потому что PHP это тоже умеет.
Почему все ненавидят PHP
По старой памяти, когда ужасного кода было много. Простота вхождения в этот язык привела к тому, что невозможно было нормально поддерживать сайт, написанный кем-то на PHP. Этот язык позволял раньше (сейчас меньше, но тоже есть) много вольностей с типами данных, переменными, обращениями к базе данных, поэтому разобраться было почти нереально.
Кроме этого, раньше в PHP было много уязвимостей, через которые можно залезть в базы данных пользователей или что-то поломать на сайте. В новых версиях большинство дыр уже устранили, но тогда это стало реальной проблемой.
Смешанный код. Писать в одном файле на PHP и HTML можно, если у вас всего одна форма обратной связи. Но когда весь сложный код на PHP расползается по всей странице, то это сильно мешает разобраться, что же там происходит на самом деле.
Любые переменные в любом месте. Понадобилась новая переменная? Объявите её на любом участке кода и сразу берите в работу. Это удобно для первоначальной разработки, когда ты просто берёшь новую переменную там, где она понадобилась, и делаешь с ней что хочешь. Но когда проходит время или кто-то другой хочет разобраться в коде, то такой подход сильно затрудняет работу.
Например, можно написать так:
Когда новый программист захочет понять, за что отвечают переменные а и b, он найдёт место, где они объявляются, и посмотрит, какого они типа и для чего использовались вначале. Но разработчик мог в процессе передумать и начать использовать эти переменные для других целей с новыми типами данных. Чтобы это понять, нужно просмотреть весь код и разобраться в логике, а это долго и трудно.
Стоит ли учить PHP?
Зависит от задачи. Дело в том, что не менее 80% сайтов уже сейчас работают на PHP: это значит, что их нужно будет еще какое-то время поддерживать. Ещё лет 5–10 спрос на PHP точно будет.
Однозначно стоит учить PHP, если хотите работать с Вордпрессом, Друпалом, Джумлой и другими известными системами управления сайтами. Они написаны на PHP, и все надстройки и дополнения — тоже. Хороший разработчик WordPress сейчас на вес золота.
Будут ли веб-разработчики массово переходить на другие технологии — вопрос открытый. Сейчас, если вы покупаете виртуальный хостинг, вам сразу включают интерпретатор PHP, потому что все его используют. А другие технологии типа Python или Node.js — не включают, их нужно устанавливать отдельно.
Но ведь и веб — это не навсегда. Ещё лет 20, и понятие веб-сайта может безнадёжно устареть, потому что люди будут в приложениях, соцсетях или ещё где похуже.
Наверное, ответ на вопрос такой: если вам до 20 лет, то уже не надо учить PHP. А если ближе к 40–50 и вы хотите заниматься вебом — то определённо да.
Что дальше
В следующей серии попрактикуемся в PHP — напишем свой код для пользы дела или для развлечений.