Как начать программировать на PHP
Народная мудрость гласит: что написано на PHP, то не вырубишь топором. Именно поэтому язык остаётся одним из самых популярных в веб-разработке.
Иллюстрация: Оля Ежак для Skillbox Media
Сегодня мы познакомимся с простым, но имеющим огромные возможности языком программирования — PHP. Узнаем, чем он привлекателен, на какую зарплату могут рассчитывать начинающие PHP-разработчики и как развиваться в веб-разработке. Для начинающих — на примерах покажем, как с нуля создать простой скрипт.
Содержание
- Что пишут на языке программирования PHP
- Почему PHP востребован и популярен в веб-разработке
- Сколько зарабатывают начинающие и опытные разработчики
- Что нужно знать и как новичку развиваться в профессии
- Какие книги почитать для самостоятельного изучения PHP
- Как написать простой скрипт и сайт
Что пишут на PHP
Язык программирования PHP применяют преимущественно в разработке сайтов и веб-приложений, а именно в бэкенде.
Все сайты, которые мы видим в интернете, состоят из двух частей: фронтенда и бэкенда. То, что видит пользователь, — анимация, слайдеры, выпадающие меню и прочее, — это фронтенд. Дизайнеры рисуют макет сайта, а разработчики превращают его в код на HTML, CSS и JavaScript.
На уровне бэкенда создаётся сама платформа, которая связывает сайт с внутренними серверными системами, обрабатывает пользовательские запросы, общается с базой данных и передаёт результаты во фронтенд. Именно для создания бэкенда и используется язык PHP.
Подробнее о разнице между этими двумя направлениями мы рассказали в статье «Frontend или backend — на примере создания сайтов». Она будет полезна тем, кто ещё не решил, с чего всё-таки начать учиться — с PHP, HTML, CSS или JavaScript.
Почему PHP продолжает быть востребованным и актуальным
Языку PHP уже более 20 лет. Он был разработан датчанином Расмусом Лердорфом в 1994 году как надстройка, которая показывала количество посещений его персональной странички. Тогда он назвал её просто — Personal Home Page.
Язык непрерывно эволюционирует. В 2004 году вышел PHP 5, который добился большой популярности у веб-разработчиков благодаря хорошей реализации ООП. В декабре 2015 года вышла седьмая версия, которая позволила создавать более быстрые программы. PHP 8 появился в ноябре 2020 года, а на 24 ноября 2022 года намечен выход версии 8.2.
Подробнее об основных свойствах и версиях языка программирования читайте в статье «Язык программирования PHP: от истоков до современности».
По данным W3Techs, доля веб-сайтов с бэкендом на PHP составляет около 80%. В первую очередь это связано с тем, что на нём написаны популярные CMS WordPress и Drupal. Кроме того, на PHP написаны «Фейсбук»*, «ВКонтакте», поисковая система Yahoo, «Википедия», немалая часть сервисов Google и отечественная CMS «1С-Битрикс».
PHP часто учат с нуля, так как у него очень низкий порог входа. Уже через месяц обучения вы будете писать небольшие сайты. А в дальнейшем, развив свои навыки, сможете работать над высоконагруженными системами для крупных компаний.
Несмотря на то что PHP уже десять лет пророчат скорую смерть, он остаётся самым востребованным языком программирования. Доля вакансий, в которых требуется знание PHP, составляет 24,6%. Примерно столько же занимает Java с 24,1%. А третий по популярности С# значительно отстаёт — 9,8%.
Рейтинг популярности языков программирования составлен на основе вакансий с русскоязычных карьерных сервисов. Скорее всего, в ближайшие пять лет соотношение не изменится.
Если вы не знаете, как с нуля самостоятельно выучить язык программирования, статья «Обучение PHP: советы и рекомендации для новичка» разложит всё по полочкам и поможет совершить как можно меньше ошибок.
Уровни зарплат в вакансиях PHP‑разработчиков
Согласно HeadHunter, зарплатный максимум PHP-программиста в России составляет 10 тысяч долларов. Если разделить зарплаты по уровням профессионального развития программиста, то цифры такие:
- Junior Developer — от 40 тысяч рублей в месяц.Только входит в профессию, умеет работать с легаси-кодом и писать простые скрипты, имеет коммерческий опыт программирования порядка 2–3 месяцев.
- Middle Developer — от 100 тысяч рублей в месяц.Может самостоятельно справиться с 90% поставленных задач и имеет опыт программирования от шести месяцев до года.
- Senior Developer — от 150 тысяч рублей в месяц.Может решить любую задачу на PHP, спроектировать решение, архитектуру, подобрать код и обучить junior- или middle-программиста выполнять эти задачи.
В 2022 году зарплаты PHP-разработчиков в России выросли сильнее, чем зарплаты программистов на всех других языках. Джунам чаще стали предлагать от 60 тысяч рублей в месяц, а сеньорам — от 400 тысяч.
Какими скиллами должен обладать веб‑разработчик
Рассмотрим технологии, которые должен освоить начинающий бэкенд-разработчик.
- HTML и CSS — языки разметки страницы. Чаще всех их используют фронтенд-разработчики, но вам нужно знать и понимать основы, так как придётся работать с готовой разметкой.
- JavaScript — код, выполняемый на стороне клиента (браузера). Он задаёт механику работы страницы. Необходимо уметь читать его и понимать, для чего нужен тот или иной его кусок.
- PHP — ядро сайта, скриптовый язык, работающий на уровне сервера и взаимодействующий с серверными структурами, на которых строится веб-проект.
- SQL — язык структурированных запросов, применяемый для управления базами данных, например, в СУБД MySQL.
- Linux — да, именно Linux. Windows не предназначена для использования в качестве операционной системы для сервера, хотя PHP может работать как в Windows, так и в Linux. В рамках обучения не обязательно использовать именно Linux, но важно знать, что в реальных проектах серверы обычно работают под этой операционной системой.
О том, как PHP-программисту развиваться в профессии, что нужно знать, уметь и как избежать ошибок, рассказал Олег Шабашов — разработчик в компании Searchanise.
Книги по PHP
Вот самые популярные и проверенные временем книги, в которых излагаются основы языка, работы с разметкой, принципы взаимодействия бэкенда и фронтенда и наиболее важные концепции веб-программирования:
- «PHP 7. В подлиннике», Дмитрий Котеров, Игорь Симдянов.
- «Изучаем PHP 7. Руководство по созданию интерактивных сайтов», Дэвид Скляр.
- «Создаём динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5», Робин Никсон.
- «PHP. Объекты, шаблоны и методики программирования», Мэтт Зандстра.
- «Разработка веб-приложений с помощью PHP и MySQL», Люк Веллинг, Лора Томсон.
Чтобы освоить профессию, недостаточно знать язык программирования — нужно научиться мыслить как программист и постоянно расширять кругозор. В этом вам помогут 16 лучших книг для программиста.
Создаём с нуля простой скрипт на PHP
Напишем небольшой сайт для поиска информации о количестве продуктов на складе. Мы не будем подробно вникать в синтаксис языка и в назначение операторов, наша задача — увидеть, как PHP взаимодействует с HTML. Но сначала установим компилятор и сервер, который будет обрабатывать запросы пользователей.
Устанавливаем PHP
Ниже приведены инструкции для операционных систем Windows, Linux и macOS.
На Windows
Скачать PHP на Windows можно с официального сайта, предварительно выбрав подходящую версию языка и операционную систему. Мы установим PHP 8.1 для 64-битной системы, для других версий процедура будет такой же.
Выбираем нужную версию PHP и вариант VS16×64 Thread Safe:
Теперь нужно распаковать архив в любое место на жёстком диске и запомнить путь до этой папки. Мы распакуем в папку C:\Program Files\php-8.1.0:
Дальше нужно указать системе, что мы установили PHP. Нажимаем правой кнопкой на «Этот компьютер» → «Свойства» → «Дополнительные параметры системы» → «Переменные среды»:
Выберите сверху и снизу Path → нажмите «Изменить». У вас откроется окно, в котором нужно нажать «Создать» в меню справа, а затем задать путь к папке PHP (в нашем случае это C:\Program Files\php-8.1.0). Затем нажмите «ОК»:
PHP установлен. Чтобы это проверить, открываем командную строку и пишем там команду php -v:
А чтобы запустить PHP-код, нужно создать текстовый файл с расширением .php и написать там какой-нибудь код. Например, такой:
Теперь заходим в папку с этим файлом, нажимаем правую кнопку мыши и выбираем пункт «Открыть окно PowerShell здесь».
В открывшемся окне пишем команду php test.php — в консоли должна вывестись наша строка:
На Linux
Перед установкой обновите систему, чтобы во время установки не возникло ошибок:
Затем установите PHP:
Но это ещё не всё. Мы установили последнюю версию языка, однако, чтобы воспользоваться её функциями, нужно установить дополнительный репозиторий.
Сначала установим предварительные условия:
А потом и сам репозиторий:
И ещё раз обновим локальные пакеты, чтобы можно было использовать добавленный репозиторий:
На macOS
Скачать PHP с официального сайта на макбук не получится. Придётся установить дополнительные программы. Первая из них — Homebrew. Это менеджер пакетов, который позволяет установить любые утилиты для программистов.
Заходим на официальный сайт и копируем команду, которую нам предлагают:
Открываем терминал: меню приложений → папка «Прочие» → «Терминал». Далее вводим команду:
Дальше в терминале вы увидите следующие инструкции по установке. Нужно будет добавить brew в путь системы. Найдите вот эту строчку и скопируйте все команды оттуда:
Затем вставьте их снова в терминал, и установка brew будет окончена.
Наконец, устанавливаем сам PHP с помощью команды brew install php:
Чтобы проверить корректность установки, введите в терминале команду php -v:
В консоли должна вывестись версия языка, который вы только что установили.
Пишем скрипт
Писать код будем в текстовом редакторе Sublime Text 3, его можно скачать бесплатно на официальном сайте. Создадим папку Server в любом месте на жёстком диске и добавим в неё три файла: index.html, handler.php и styles.css.
Код нашей главной страницы index.html будет иметь следующий вид:
Это код формы с текстовым полем и кнопкой. Атрибут action тега <form> указывает на имя и путь файла-скрипта, который будет обрабатывать введённые данные, — в нашем случае это файл handler.php. Атрибут method указывает на способ передачи данных — get. Эти методы прописаны в протоколе HTTP, по которому сайты общаются с браузером.
Читайте также:
Напишем код для скрипта handler.php.
Что тут происходит:
- В строке 1 с помощью оператора echo вставляем тег link в HTML-код страницы.
- В строках 3–5 создаётся три массива, которые содержат информацию о фруктах, овощах и ягодах. Подобного рода данные должны храниться в базе данных и затем из неё вытягиваться, но для примера мы ввели их вручную.
- В строке 7 создаётся переменная $searchText, которая содержит в себе введённое в текстовое поле значение. Это значение берётся из массива $_GET, в квадратных скобках которого указывается имя текстового поля, которое мы задали в файле index.html. Этот массив инициализируется при отправке формы.
- В строках 9–15 проверяется, была ли нажата кнопка отправки формы searchSubmit. Затем проверяется введённое значение и, в зависимости от того, какой вид продукта ввёл пользователь, в переменную $products записывается массив с данными о продуктах.
- В строках 17–28 массив выводится на экран в виде таблицы. Как видите, PHP отличает HTML-теги от обычных строк и выводит в окно браузера с помощью функции echo HTML-таблицу.
- В строке 22 наш массив products перебирается с помощью оператора цикла foreach.
Чтобы придать таблице красивый вид, создадим небольшой файл стилей styles.css. Он подключается в файле handler.php во второй строчке кода.
Код styles.css такой:
Всё готово. Теперь нужно запустить веб-сервер. Для этого в терминале перейдём в папку с нашими файлами. Введите команду cd и укажите полный путь до вашей папки с файлами — например, C:\Program Files\Server. У нас на macOS будет такая команда:
Здесь вводим в консоли команду php -S 127.0.0.1:8000:
Сервер запустился. Теперь открываем браузер и переходим на сайт: http://127.0.0.1:8000/. Готово — вы видите ваш сайт.
Введём в поле значение «Фрукты» и нажмём кнопку «Поиск».
Откроется главная страница index.html. Веб-сервер перебросил нас на выполнение скрипта handler.php, который, в свою очередь, отобразил на экране таблицу фруктов. Обратите внимание на адресную строку:
После вопросительного знака указывается имя параметра, в данном случае это название поля searchText, и через знак = указывается его введённое значение. Таких пар «имя = значение» может быть несколько, они должны отделяться друг от друга знаком &. Если вам нужно передать большой текст или конфиденциальные данные (например, логин и пароль), то не рекомендуем использовать get-запрос — для таких случаев есть метод post.
При дальнейшем изучении — например, в рамках курса «PHP-разработчик с нуля» от Skillbox — вы обязательно узнаете, как PHP взаимодействует с базой данных, что такое объектная модель, как выполнять асинхронные запросы без перезагрузки страницы и как строить архитектуру высоконагруженных систем.
Заключение
Ещё раз подчеркнём, что PHP — один из самых востребованных языков программирования на данный момент. И если вдруг вы до сих пор не решили, стоит начинать учить PHP или нет, можете быть уверены — он откроет для вас большие возможности. Сможете ли вы ими воспользоваться — зависит только от вас.