Рано или поздно на пути каждого начинающего веб-разработчика встает вопрос о том, куда ему двигаться дальше и что поможет ему в создании более сложных вещей, чем он делал до этого.
Сегодня мы познакомимся с простым, но имеющим огромные возможности языком программирования PHP, узнаем, почему многие считают его привлекательнее других языков, как легко начать программировать на PHP и на какую зарплату можно рассчитывать.
Чем отличается frontend от backend
Все сайты, которые мы видим в интернете, состоят из двух частей — frontend и backend. То, что мы видим визуально, — красивые анимации, слайдеры, выпадающие меню и прочее, — это frontend. Дизайнер нарисовал картинку, которую мы превратили в рабочий код с помощью HTML, CSS и JavaScript.
На уровне backend создается сама платформа, которая связывает сайт с внутренними серверными системами, обрабатывает пользовательские запросы, ведет общение с базой данных и в конце выводит результат во frontend.
В создании бэкенда и используется язык PHP.
История создания PHP
Языку PHP уже более 20 лет. Он был разработан датчанином Расмусом Лердорфом в 1994 году как простая надстройка, которая показывала количество посещений его персональной странички. Тогда он назвал ее просто — Personal Home Page.
Все эти годы язык эволюционировал. Три года назад вышла седьмая версия. Она намного эффективнее предыдущих версий PHP — 5-й и 6-й:
- В среднем вдвое быстрее PHP 5.
- Использует на 50% меньше памяти при обработке запросов.
- В ней расширено существовавшее объявление параметров в методах.
- Переработан и убран устаревший код, а это порядка 180 тысяч строк.
- Появилось много синтаксических улучшений.
А значит, на сегодня PHP продолжает быть актуальным и востребованным среди веб-разработчиков.
Почему именно PHP
Часто говорят, что PHP — это язык для новичков, он не предназначен для создания крупных enterprise-проектов. Это не так. Есть немало сервисов, написанных на PHP, создатели которых стали миллиардерами. Например, социальные сети Facebook и «ВКонтакте» написаны на PHP. Такие популярные CMS, как Wordpress, Drupal, «1С-Битрикс» также написаны на PHP. И немалая часть сервисов Google тоже написана на этом языке.
PHP имеет очень низкий порог входа. Это язык, который позволит вам буквально через месяц обучения писать небольшие сайты. И в дальнейшем, развивая свои навыки, вы сможете программировать уже высоконагруженные отраслевые решения, в которых нуждаются ведущие мировые компании.
На данный момент PHP — самый востребованный язык программирования. На рынке он занимает долю в 24,6%. Примерно столько же занимает Java со своими 21,1%. А третий язык С# уже значительно отстает — 9,8%.
Рейтинг популярности языков программирования составлен на основе вакансий работодателя, и в ближайшие 5 лет такое соотношение, по всей видимости, останется неизменным.
Читайте также
• Современный промо-дизайн: единороги в космосе против изящных решений
• Типографика, композиция, стиль. Как дизайнеру развить три базовых навыка
• Как искать лиды в социальных сетях и продавать через комментарии
Уровни зарплат на вакансии PHP-разработчиков
По статистике HeadHunter, зарплатный максимум программиста PHP в России составляет 250 000 рублей. Если разделить зарплаты по уровням профессионального развития программиста, то цифры такие:
- Junior Developer — от 30 000 руб./мес.
Только входит в профессию, умеет что-то писать и имеет коммерческий опыт программирования порядка 2-3 месяцев.
- Middle Developer — от 60 000 руб./мес.
Может справиться с 90% поставленных задач и имеет опыт программирования от 6 месяцев до 1 года.
- Senior Developer — от 100 000 руб./мес.
Может решить любую задачу на PHP, спроектировать решение, архитектуру, подобрать код и обучить junior- и middle-программистов выполнять эти задачи.
Полный спектр скиллов веб-разработчика
Давайте рассмотрим, каким комплексом знаний должен овладеть новичок, чтобы заниматься непосредственно backend-разработкой:
- HTML + CSS — языки разметки страницы. Нужно знать и понимать основы, так как придется работать уже с готовой разметкой.
- JavaScript — код, выполняемый на стороне клиента (браузера), нужен для того, чтобы задать механику страницы. Необходимо уметь читать и понимать, для чего нужен тот или иной кусок кода.
- PHP — ядро сайта, скриптовый язык, работающий на уровне сервера и взаимодействующий с серверными структурами, на которых строится веб-проект.
- SQL — язык структурированных запросов, применяемый для управления базами данных, например, в СУБД MySQL.
- Linux — да, именно Linux. Windows не предназначена для использования в качестве операционной системы для сервера, хотя PHP может работать как в WIndows, так и в Linux. В рамках обучения не обязательно использовать именно Linux, но важно знать, что в реальных проектах серверы обычно работают под этой ОС.
Литература
• «PHP 7. В подлиннике», авторы Дмитрий Котеров, Игорь Симдянов.
• «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5», автор Робин Никсо
• «PHP объекты, шаблоны и методики программирования», автор Мэтт Зандстра.
• «Разработка веб-приложений с помощью PHP и MySQL», авторы Люк Веллинг, Лора Томсон.
• «Изучаем PHP 7. Руководство по созданию интерактивных сайтов», автор Дэвид Скляр.
Создаем простой скрипт
Давайте рассмотрим простой пример работы с PHP и создадим небольшой скрипт. Мы не будем подробно вникать в синтаксис языка и в назначение операторов, а лишь наглядно покажем, как PHP взаимодействует с HTML.
Для начала нам нужно установить компилятор PHP на компьютер. Так как мы выяснили, что PHP — это серверный язык, то существуют специальные готовые сборки веб-серверов, которые включают в себя, помимо PHP, и другие полезные инструменты, например, СУБД MySQL. Одной из таких сборок является Open Server. Для написания кода будем использовать текстовый редактор Sublime Text 3.
Перейдем в папку domains веб-сервера Open Server и создадим в ней новую папку example. Внутри папки example создадим 2 файла: index.html и handler.php.
Код нашей главной страницы index.html будет иметь следующий вид:
<!DOCTYPE html>
<html lang="en">
<head>
<mera 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; также существует метод передачи post.
Напишем код для скрипта 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 ($sesrchText == 'овощи')
$products = $vegetables;
esleif ($sesrchText == 'ягоды')
$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>';
}
?>
Немного разберем код:
- В строках 3–5 создается три массива, которые содержат информацию о фруктах, овощах и ягодах. На самом деле подобного рода данные должны храниться в базе данных и затем из нее вытягиваться. Но в качестве примера мы ввели их вручную в коде.
- В строке 7 создается переменная $searchText, которая содержит в себе введенное в текстовое поле значение. Это значение берется из суперглобального массива $_GET, в квадратных скобках которого указывается имя текстового поля, которое мы задали в файле index.html. Этот массив инициализируется при отправке формы.
- В строках 9–15 сначала проверяется, была ли нажата кнопка отправки формы, которая имеет имя searchSubmit, затем происходит проверка введенного значения и, в зависимости от того, какой вид продукта ввел пользователь, в переменную $products записывается ранее созданный соответствующий массив.
- В строках 17–28 происходит вывод массива на экран в виде таблицы. Как видите, PHP отличает HTML-теги от обычных строк и выводит в окно браузера с помощью функции echo HTML-таблицу.
- В строке 22 происходит перебор нашего массива products с помощью специального оператора цикла foreach.
Чтобы придать таблице красивый вид, мы создадим небольшой файл стилей styles.css. Он подключается в файле handler.php во второй строчке кода.
Все готово. Запустим наш веб-сервер и в адресной строке браузера перейдем по адресу example.
Откроется главная страница index.html.
В результате веб-сервер перебросил нас на выполнение скрипта handler.php, который, в свою очередь, отобразил на экране таблицу фруктов. Обратите внимание на адресную строку.
После вопросительного знака указывается имя параметра, в данном случае это название поля searchText, и через знак «=» указывается его введенное значение. Таких пар «имя = значение» может быть несколько, они должны разделяться между собой знаком «&». Не рекомендуется использовать данный метод передачи, если вам нужно передать большой объем данных либо же какие-то конфиденциальные данные, например, логин и пароль. В таких случаях используется метод post.
При дальнейшем изучении — например, в рамках курса «PHP-разработчик» от Skillbox — вы обязательно узнаете о таких важных вещах, как взаимодействие PHP с базой данных, построение объектной модели, выполнение асинхронных запросов без перезагрузки страницы, и о том, как строится архитектура высоконагруженных систем.
Курс «PHP-разработчик»
Обширная программа для изучения PHP, состоящая из 4 курсов. Поможет с нуля овладеть популярным языком программирования, устроиться в IT-компанию вашей мечты или стать независимым разработчиком.
Программа курса