Код
#Руководства

Как начать программировать на PHP

Народная мудрость гласит: что написано на PHP, то не вырубишь топором. Именно поэтому язык остаётся одним из самых популярных в веб-разработке.

Иллюстрация: Оля Ежак для Skillbox Media

Сегодня мы познакомимся с простым, но имеющим огромные возможности языком программирования — 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
Изображение: Skillbox Media

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

Несмотря на то что PHP уже десять лет пророчат скорую смерть, он остаётся самым востребованным языком программирования. Доля вакансий, в которых требуется знание PHP, составляет 24,6%. Примерно столько же занимает Java с 24,1%. А третий по популярности С# значительно отстаёт — 9,8%.

PHP, Java и C# — самые популярные у работодателей языки
Изображение: Skillbox Media

Рейтинг популярности языков программирования составлен на основе вакансий с русскоязычных карьерных сервисов. Скорее всего, в ближайшие пять лет соотношение не изменится.

Если вы не знаете, как с нуля самостоятельно выучить язык программирования, статья «Обучение 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:

Скачиваем последнюю версию PHP с официального сайта языка
Скриншот: Skillbox Media

Теперь нужно распаковать архив в любое место на жёстком диске и запомнить путь до этой папки. Мы распакуем в папку C:\Program Files\php-8.1.0:

Распаковываем архив в любом удобном месте на жёстком диске
Скриншот: Skillbox Media

Дальше нужно указать системе, что мы установили PHP. Нажимаем правой кнопкой на «Этот компьютер» → «Свойства» → «Дополнительные параметры системы» → «Переменные среды»:

Скриншот: Skillbox Media

Выберите сверху и снизу Path → нажмите «Изменить». У вас откроется окно, в котором нужно нажать «Создать» в меню справа, а затем задать путь к папке PHP (в нашем случае это C:\Program Files\php-8.1.0). Затем нажмите «ОК»:

Сюда вписываем путь до папки, где находится PHP
Скриншот: Skillbox Media

PHP установлен. Чтобы это проверить, открываем командную строку и пишем там команду php -v:

Если PHP установлен правильно, выведется примерно такое
Скриншот: Skillbox Media

А чтобы запустить PHP-код, нужно создать текстовый файл с расширением .php и написать там какой-нибудь код. Например, такой:

Мы создали файл с расширением .php и написали в нём код, который выводит «Hello world!»
Скриншот: Skillbox Media

Теперь заходим в папку с этим файлом, нажимаем правую кнопку мыши и выбираем пункт «Открыть окно PowerShell здесь».

Открываем PowerShell, чтобы запустить PHP-код
Скриншот: Skillbox Media

В открывшемся окне пишем команду php test.php — в консоли должна вывестись наша строка:

Если строка вывелась, значит, PHP работает
Скриншот: Skillbox Media

На Linux

Перед установкой обновите систему, чтобы во время установки не возникло ошибок:

sudo apt update

Затем установите PHP:

sudo apt install php

Но это ещё не всё. Мы установили последнюю версию языка, однако, чтобы воспользоваться её функциями, нужно установить дополнительный репозиторий.

Сначала установим предварительные условия:

sudo apt install software-properties-common -y

А потом и сам репозиторий:

sudo add-apt-repository ppa:ondrej/php

И ещё раз обновим локальные пакеты, чтобы можно было использовать добавленный репозиторий:

sudo apt update

На macOS

Скачать PHP с официального сайта на макбук не получится. Придётся установить дополнительные программы. Первая из них — Homebrew. Это менеджер пакетов, который позволяет установить любые утилиты для программистов.

Заходим на официальный сайт и копируем команду, которую нам предлагают:

Скриншот: Skillbox Media

Открываем терминал: меню приложений → папка «Прочие» → «Терминал». Далее вводим команду:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Дальше в терминале вы увидите следующие инструкции по установке. Нужно будет добавить brew в путь системы. Найдите вот эту строчку и скопируйте все команды оттуда:

Затем вставьте их снова в терминал, и установка brew будет окончена.

Наконец, устанавливаем сам PHP с помощью команды brew install php:

Скриншот: Skillbox Media

Чтобы проверить корректность установки, введите в терминале команду php -v:

Скриншот: Skillbox Media

В консоли должна вывестись версия языка, который вы только что установили.

Пишем скрипт

Писать код будем в текстовом редакторе Sublime Text 3, его можно скачать бесплатно на официальном сайте. Создадим папку Server в любом месте на жёстком диске и добавим в неё три файла: index.html, handler.php и styles.css.

Код нашей главной страницы index.html будет иметь следующий вид:

<!DOCTYPE html>
<html lang="en">
<head>
     <meta charset="UTF-8">
     <title>Example</title>
</head>
<body>
     <form action="handler.php" method="get">
         <label>
            Продукт
            <input type="text" name="searchText">
         </label>
         <input type="submit" name="searchSubmit" value="Поиск">
     </form>
</body>
</html>

Это код формы с текстовым полем и кнопкой. Атрибут action тега <form> указывает на имя и путь файла-скрипта, который будет обрабатывать введённые данные, — в нашем случае это файл handler.php. Атрибут method указывает на способ передачи данных — get. Эти методы прописаны в протоколе HTTP, по которому сайты общаются с браузером.

Напишем код для скрипта handler.php.

<?php
   echo "<link rel='stylesheet' href='styles.css'>";
   $fruits = array('Яблоки' => '30кг', 'Груши' => '50кг', 'Бананы' => '20кг');
   $vegetables = array('Картошка' => '100кг', 'Огурцы' => '80кг', 'Помидоры' => '50кг');
   $berries = array('Вишня' => '20кг', 'Виноград' => '30кг', 'Малина' => '50кг');

   $searchText = mb_strtolower($_GET['searchText']);

   if(isset($_GET['searchSubmit'])){
       if($searchText == 'фрукты')
           $products = $fruits;
       elseif ($searchText == 'овощи')
           $products = $vegetables;
       elseif ($searchText == 'ягоды')
           $products = $berries;

       echo '<table>
              <thead>
                 <td>Продукт</td>
                 <td>Количество</td>
              </thead>';
       foreach ((array)$products as $key => $value) {
           echo '<tr>
                   <td>'. $key .'</td>
                   <td>'. $value .'</td>
               </tr>';
       }
       echo '<table>';
    }
?>

Что тут происходит:

  • В строке 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 такой:

table {
    background: rgb(182, 182, 182);
    border: 2px solid rgb(0, 0, 0);
    border-collapse: collapse;
}

thead {
    background: rgb(11, 135, 28);
    color: white;
}

td {
    padding-right: 10px;
}

Всё готово. Теперь нужно запустить веб-сервер. Для этого в терминале перейдём в папку с нашими файлами. Введите команду cd и укажите полный путь до вашей папки с файлами — например, C:\Program Files\Server. У нас на macOS будет такая команда:

Скриншот: Skillbox Media

Здесь вводим в консоли команду php -S 127.0.0.1:8000:

Скриншот: Skillbox Media

Сервер запустился. Теперь открываем браузер и переходим на сайт: http://127.0.0.1:8000/. Готово — вы видите ваш сайт.

Введём в поле значение «Фрукты» и нажмём кнопку «Поиск».

Скриншот: Skillbox Media

Откроется главная страница index.html. Веб-сервер перебросил нас на выполнение скрипта handler.php, который, в свою очередь, отобразил на экране таблицу фруктов. Обратите внимание на адресную строку:

Так выглядит наш get-запрос
Скриншот: Skillbox Media

После вопросительного знака указывается имя параметра, в данном случае это название поля searchText, и через знак = указывается его введённое значение. Таких пар «имя = значение» может быть несколько, они должны отделяться друг от друга знаком &. Если вам нужно передать большой текст или конфиденциальные данные (например, логин и пароль), то не рекомендуем использовать get-запрос — для таких случаев есть метод post.

При дальнейшем изучении — например, в рамках курса «PHP-разработчик с нуля» от Skillbox — вы обязательно узнаете, как PHP взаимодействует с базой данных, что такое объектная модель, как выполнять асинхронные запросы без перезагрузки страницы и как строить архитектуру высоконагруженных систем.

Заключение

Ещё раз подчеркнём, что PHP — один из самых востребованных языков программирования на данный момент. И если вдруг вы до сих пор не решили, стоит начинать учить PHP или нет, можете быть уверены — он откроет для вас большие возможности. Сможете ли вы ими воспользоваться — зависит только от вас.

Научитесь: Профессия PHP-разработчик с нуля до PRO Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована