HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#Руководства</a></p>
1 <p><a>#Руководства</a></p>
2 <ul><li>3 ноя 2022</li>
2 <ul><li>3 ноя 2022</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Народная мудрость гласит: что написано на PHP, то не вырубишь топором. Именно поэтому язык остаётся одним из самых популярных в веб-разработке.</p>
4 </ul><p>Народная мудрость гласит: что написано на PHP, то не вырубишь топором. Именно поэтому язык остаётся одним из самых популярных в веб-разработке.</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6 <p>Выпускник факультета автоматизации и информатики МГГУ, исполнительный директор компании QSOFT.</p>
6 <p>Выпускник факультета автоматизации и информатики МГГУ, исполнительный директор компании QSOFT.</p>
7 <p>Сегодня мы познакомимся с простым, но имеющим огромные возможности языком программирования - PHP. Узнаем, чем он привлекателен, на какую зарплату могут рассчитывать начинающие PHP-разработчики и как развиваться в веб-разработке. Для начинающих - на примерах покажем, как с нуля создать простой скрипт.</p>
7 <p>Сегодня мы познакомимся с простым, но имеющим огромные возможности языком программирования - PHP. Узнаем, чем он привлекателен, на какую зарплату могут рассчитывать начинающие PHP-разработчики и как развиваться в веб-разработке. Для начинающих - на примерах покажем, как с нуля создать простой скрипт.</p>
8 <ul><li><a>Что пишут на языке программирования PHP</a></li>
8 <ul><li><a>Что пишут на языке программирования PHP</a></li>
9 <li><a>Почему PHP востребован и популярен в веб-разработке</a></li>
9 <li><a>Почему PHP востребован и популярен в веб-разработке</a></li>
10 <li><a>Сколько зарабатывают начинающие и опытные разработчики</a></li>
10 <li><a>Сколько зарабатывают начинающие и опытные разработчики</a></li>
11 <li><a>Что нужно знать и как новичку развиваться в профессии</a></li>
11 <li><a>Что нужно знать и как новичку развиваться в профессии</a></li>
12 <li><a>Какие книги почитать для самостоятельного изучения PHP</a></li>
12 <li><a>Какие книги почитать для самостоятельного изучения PHP</a></li>
13 <li><a>Как написать простой скрипт и сайт</a></li>
13 <li><a>Как написать простой скрипт и сайт</a></li>
14 </ul><p>Язык программирования PHP применяют преимущественно в разработке сайтов и веб-приложений, а именно в бэкенде.</p>
14 </ul><p>Язык программирования PHP применяют преимущественно в разработке сайтов и веб-приложений, а именно в бэкенде.</p>
15 <p>Все сайты, которые мы видим в интернете, состоят из двух частей: фронтенда и бэкенда. То, что видит пользователь, - анимация, слайдеры, выпадающие меню и прочее, - это фронтенд. Дизайнеры рисуют макет сайта, а разработчики превращают его в код на <a>HTML</a>,<a>CSS</a>и <a>JavaScript</a>.</p>
15 <p>Все сайты, которые мы видим в интернете, состоят из двух частей: фронтенда и бэкенда. То, что видит пользователь, - анимация, слайдеры, выпадающие меню и прочее, - это фронтенд. Дизайнеры рисуют макет сайта, а разработчики превращают его в код на <a>HTML</a>,<a>CSS</a>и <a>JavaScript</a>.</p>
16 <p>На уровне бэкенда создаётся сама платформа, которая связывает сайт с внутренними серверными системами, обрабатывает пользовательские запросы, общается с базой данных и передаёт результаты во фронтенд. Именно для создания бэкенда и используется язык PHP.</p>
16 <p>На уровне бэкенда создаётся сама платформа, которая связывает сайт с внутренними серверными системами, обрабатывает пользовательские запросы, общается с базой данных и передаёт результаты во фронтенд. Именно для создания бэкенда и используется язык PHP.</p>
17 <p>Языку PHP уже более 20 лет. Он был разработан датчанином Расмусом Лердорфом в 1994 году как надстройка, которая показывала количество посещений его персональной странички. Тогда он назвал её просто - Personal Home Page.</p>
17 <p>Языку PHP уже более 20 лет. Он был разработан датчанином Расмусом Лердорфом в 1994 году как надстройка, которая показывала количество посещений его персональной странички. Тогда он назвал её просто - Personal Home Page.</p>
18 <p>Язык непрерывно эволюционирует. В 2004 году вышел PHP 5, который добился большой популярности у веб-разработчиков благодаря хорошей реализации ООП. В декабре 2015 года вышла седьмая версия, которая позволила создавать более быстрые программы. PHP 8 появился в ноябре 2020 года, а на 24 ноября 2022 года намечен выход версии 8.2.</p>
18 <p>Язык непрерывно эволюционирует. В 2004 году вышел PHP 5, который добился большой популярности у веб-разработчиков благодаря хорошей реализации ООП. В декабре 2015 года вышла седьмая версия, которая позволила создавать более быстрые программы. PHP 8 появился в ноябре 2020 года, а на 24 ноября 2022 года намечен выход версии 8.2.</p>
19 <p>По данным<a>W3Techs</a>, доля веб-сайтов с бэкендом на PHP составляет около 80%. В первую очередь это связано с тем, что на нём написаны популярные CMS WordPress и Drupal. Кроме того, на PHP написаны "Фейсбук"*, "ВКонтакте", поисковая система Yahoo, "Википедия", немалая часть сервисов Google и отечественная CMS "1С-Битрикс".</p>
19 <p>По данным<a>W3Techs</a>, доля веб-сайтов с бэкендом на PHP составляет около 80%. В первую очередь это связано с тем, что на нём написаны популярные CMS WordPress и Drupal. Кроме того, на PHP написаны "Фейсбук"*, "ВКонтакте", поисковая система Yahoo, "Википедия", немалая часть сервисов Google и отечественная CMS "1С-Битрикс".</p>
20 Крупнейшие мировые компании, которые используют язык PHP<em>Изображение: Skillbox Media</em><p>PHP часто учат с нуля, так как у него очень низкий порог входа. Уже через месяц обучения вы будете писать небольшие сайты. А в дальнейшем, развив свои навыки, сможете работать над высоконагруженными системами для крупных компаний.</p>
20 Крупнейшие мировые компании, которые используют язык PHP<em>Изображение: Skillbox Media</em><p>PHP часто учат с нуля, так как у него очень низкий порог входа. Уже через месяц обучения вы будете писать небольшие сайты. А в дальнейшем, развив свои навыки, сможете работать над высоконагруженными системами для крупных компаний.</p>
21 <p>Несмотря на то что PHP уже десять лет пророчат скорую смерть, он остаётся самым востребованным языком программирования. Доля вакансий, в которых требуется знание PHP, составляет 24,6%. Примерно столько же занимает Java с 24,1%. А третий по популярности С# значительно отстаёт - 9,8%.</p>
21 <p>Несмотря на то что PHP уже десять лет пророчат скорую смерть, он остаётся самым востребованным языком программирования. Доля вакансий, в которых требуется знание PHP, составляет 24,6%. Примерно столько же занимает Java с 24,1%. А третий по популярности С# значительно отстаёт - 9,8%.</p>
22 PHP, Java и C# - самые популярные у работодателей языки<em>Изображение: Skillbox Media</em><p>Рейтинг популярности языков программирования составлен на основе вакансий с русскоязычных карьерных сервисов. Скорее всего, в ближайшие пять лет соотношение не изменится.</p>
22 PHP, Java и C# - самые популярные у работодателей языки<em>Изображение: Skillbox Media</em><p>Рейтинг популярности языков программирования составлен на основе вакансий с русскоязычных карьерных сервисов. Скорее всего, в ближайшие пять лет соотношение не изменится.</p>
23 <p>Согласно<a>HeadHunter</a>, зарплатный максимум PHP-программиста в России составляет 10 тысяч долларов. Если разделить зарплаты по уровням профессионального развития программиста, то цифры такие:</p>
23 <p>Согласно<a>HeadHunter</a>, зарплатный максимум PHP-программиста в России составляет 10 тысяч долларов. Если разделить зарплаты по уровням профессионального развития программиста, то цифры такие:</p>
24 <ul><li><strong>Junior Developer - от 40 тысяч рублей в месяц.</strong>Только входит в профессию, умеет работать с легаси-кодом и писать простые скрипты, имеет коммерческий опыт программирования порядка 2-3 месяцев.</li>
24 <ul><li><strong>Junior Developer - от 40 тысяч рублей в месяц.</strong>Только входит в профессию, умеет работать с легаси-кодом и писать простые скрипты, имеет коммерческий опыт программирования порядка 2-3 месяцев.</li>
25 <li><strong>Middle Developer - от 100 тысяч рублей в месяц.</strong>Может самостоятельно справиться с 90% поставленных задач и имеет опыт программирования от шести месяцев до года.</li>
25 <li><strong>Middle Developer - от 100 тысяч рублей в месяц.</strong>Может самостоятельно справиться с 90% поставленных задач и имеет опыт программирования от шести месяцев до года.</li>
26 <li><strong>Senior Developer - от 150 тысяч рублей в месяц.</strong>Может решить любую задачу на PHP, спроектировать решение, архитектуру, подобрать код и обучить junior- или middle-программиста выполнять эти задачи.</li>
26 <li><strong>Senior Developer - от 150 тысяч рублей в месяц.</strong>Может решить любую задачу на PHP, спроектировать решение, архитектуру, подобрать код и обучить junior- или middle-программиста выполнять эти задачи.</li>
27 </ul><p>В 2022 году зарплаты PHP-разработчиков в России <a>выросли</a> сильнее, чем зарплаты программистов на всех других языках. Джунам чаще стали предлагать от 60 тысяч рублей в месяц, а сеньорам - от 400 тысяч.</p>
27 </ul><p>В 2022 году зарплаты PHP-разработчиков в России <a>выросли</a> сильнее, чем зарплаты программистов на всех других языках. Джунам чаще стали предлагать от 60 тысяч рублей в месяц, а сеньорам - от 400 тысяч.</p>
28 <p>Рассмотрим технологии, которые должен освоить начинающий бэкенд-разработчик.</p>
28 <p>Рассмотрим технологии, которые должен освоить начинающий бэкенд-разработчик.</p>
29 <ul><li><strong>HTML и CSS</strong> - языки разметки страницы. Чаще всех их используют фронтенд-разработчики, но вам нужно знать и понимать основы, так как придётся работать с готовой разметкой.</li>
29 <ul><li><strong>HTML и CSS</strong> - языки разметки страницы. Чаще всех их используют фронтенд-разработчики, но вам нужно знать и понимать основы, так как придётся работать с готовой разметкой.</li>
30 <li><strong>JavaScript</strong>- код, выполняемый на стороне клиента (браузера). Он задаёт механику работы страницы. Необходимо уметь читать его и понимать, для чего нужен тот или иной его кусок.</li>
30 <li><strong>JavaScript</strong>- код, выполняемый на стороне клиента (браузера). Он задаёт механику работы страницы. Необходимо уметь читать его и понимать, для чего нужен тот или иной его кусок.</li>
31 <li><strong>PHP</strong>- ядро сайта, скриптовый язык, работающий на уровне сервера и взаимодействующий с серверными структурами, на которых строится веб-проект.</li>
31 <li><strong>PHP</strong>- ядро сайта, скриптовый язык, работающий на уровне сервера и взаимодействующий с серверными структурами, на которых строится веб-проект.</li>
32 <li><strong>SQL</strong>- язык структурированных запросов, применяемый для управления базами данных, например, в СУБД MySQL.</li>
32 <li><strong>SQL</strong>- язык структурированных запросов, применяемый для управления базами данных, например, в СУБД MySQL.</li>
33 <li><strong>Linux</strong>- да, именно Linux. Windows не предназначена для использования в качестве операционной системы для сервера, хотя PHP может работать как в Windows, так и в Linux. В рамках обучения не обязательно использовать именно Linux, но важно знать, что в реальных проектах серверы обычно работают под этой операционной системой.</li>
33 <li><strong>Linux</strong>- да, именно Linux. Windows не предназначена для использования в качестве операционной системы для сервера, хотя PHP может работать как в Windows, так и в Linux. В рамках обучения не обязательно использовать именно Linux, но важно знать, что в реальных проектах серверы обычно работают под этой операционной системой.</li>
34 </ul><p>Вот самые популярные и проверенные временем книги, в которых излагаются основы языка, работы с разметкой, принципы взаимодействия бэкенда и фронтенда и наиболее важные концепции веб-программирования:</p>
34 </ul><p>Вот самые популярные и проверенные временем книги, в которых излагаются основы языка, работы с разметкой, принципы взаимодействия бэкенда и фронтенда и наиболее важные концепции веб-программирования:</p>
35 <ul><li><strong>"PHP 7. В подлиннике"</strong>,<strong></strong>Дмитрий Котеров, Игорь Симдянов.</li>
35 <ul><li><strong>"PHP 7. В подлиннике"</strong>,<strong></strong>Дмитрий Котеров, Игорь Симдянов.</li>
36 <li><strong>"Изучаем PHP 7. Руководство по созданию интерактивных сайтов"</strong>,<strong></strong>Дэвид Скляр.</li>
36 <li><strong>"Изучаем PHP 7. Руководство по созданию интерактивных сайтов"</strong>,<strong></strong>Дэвид Скляр.</li>
37 <li><strong>"Создаём динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5"</strong>,<strong></strong>Робин Никсон.</li>
37 <li><strong>"Создаём динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5"</strong>,<strong></strong>Робин Никсон.</li>
38 <li><strong>"PHP. Объекты, шаблоны и методики программирования"</strong>, Мэтт Зандстра.</li>
38 <li><strong>"PHP. Объекты, шаблоны и методики программирования"</strong>, Мэтт Зандстра.</li>
39 <li><strong>"Разработка веб-приложений с помощью PHP и MySQL"</strong>, Люк Веллинг, Лора Томсон.</li>
39 <li><strong>"Разработка веб-приложений с помощью PHP и MySQL"</strong>, Люк Веллинг, Лора Томсон.</li>
40 </ul><p>Чтобы освоить профессию, недостаточно знать язык программирования - нужно научиться мыслить как программист и постоянно расширять кругозор. В этом вам помогут<a>16 лучших книг для программиста</a>.</p>
40 </ul><p>Чтобы освоить профессию, недостаточно знать язык программирования - нужно научиться мыслить как программист и постоянно расширять кругозор. В этом вам помогут<a>16 лучших книг для программиста</a>.</p>
41 <p>Напишем небольшой сайт для поиска информации о количестве продуктов на складе. Мы не будем подробно вникать в синтаксис языка и в назначение операторов, наша задача - увидеть, как PHP взаимодействует с HTML. Но сначала установим компилятор и сервер, который будет обрабатывать запросы пользователей.</p>
41 <p>Напишем небольшой сайт для поиска информации о количестве продуктов на складе. Мы не будем подробно вникать в синтаксис языка и в назначение операторов, наша задача - увидеть, как PHP взаимодействует с HTML. Но сначала установим компилятор и сервер, который будет обрабатывать запросы пользователей.</p>
42 <p>Ниже приведены инструкции для операционных систем Windows, Linux и macOS.</p>
42 <p>Ниже приведены инструкции для операционных систем Windows, Linux и macOS.</p>
43 <p>Скачать PHP на Windows можно с <a>официального сайта</a>, предварительно выбрав подходящую версию языка и операционную систему. Мы установим PHP 8.1 для 64-битной системы, для других версий процедура будет такой же.</p>
43 <p>Скачать PHP на Windows можно с <a>официального сайта</a>, предварительно выбрав подходящую версию языка и операционную систему. Мы установим PHP 8.1 для 64-битной системы, для других версий процедура будет такой же.</p>
44 <p>Выбираем нужную версию PHP и вариант<strong>VS16×64 Thread Safe</strong>:</p>
44 <p>Выбираем нужную версию PHP и вариант<strong>VS16×64 Thread Safe</strong>:</p>
45 Скачиваем последнюю версию PHP с официального сайта языка<em>Скриншот: Skillbox Media</em><p>Теперь нужно распаковать архив в любое место на жёстком диске и запомнить путь до этой папки. Мы распакуем в папку C:\Program Files\php-8.1.0:</p>
45 Скачиваем последнюю версию PHP с официального сайта языка<em>Скриншот: Skillbox Media</em><p>Теперь нужно распаковать архив в любое место на жёстком диске и запомнить путь до этой папки. Мы распакуем в папку C:\Program Files\php-8.1.0:</p>
46 Распаковываем архив в любом удобном месте на жёстком диске<em>Скриншот: Skillbox Media</em><p>Дальше нужно указать системе, что мы установили PHP. Нажимаем правой кнопкой на "Этот компьютер" → "Свойства" → "Дополнительные параметры системы" → "Переменные среды":</p>
46 Распаковываем архив в любом удобном месте на жёстком диске<em>Скриншот: Skillbox Media</em><p>Дальше нужно указать системе, что мы установили PHP. Нажимаем правой кнопкой на "Этот компьютер" → "Свойства" → "Дополнительные параметры системы" → "Переменные среды":</p>
47 <em>Скриншот: Skillbox Media</em><p>Выберите сверху и снизу Path → нажмите "Изменить". У вас откроется окно, в котором нужно нажать "Создать" в меню справа, а затем задать путь к папке PHP (в нашем случае это C:\Program Files\php-8.1.0). Затем нажмите "ОК":</p>
47 <em>Скриншот: Skillbox Media</em><p>Выберите сверху и снизу Path → нажмите "Изменить". У вас откроется окно, в котором нужно нажать "Создать" в меню справа, а затем задать путь к папке PHP (в нашем случае это C:\Program Files\php-8.1.0). Затем нажмите "ОК":</p>
48 Сюда вписываем путь до папки, где находится PHP<em>Скриншот: Skillbox Media</em><p>PHP установлен. Чтобы это проверить, открываем командную строку и пишем там команду php -v:</p>
48 Сюда вписываем путь до папки, где находится PHP<em>Скриншот: Skillbox Media</em><p>PHP установлен. Чтобы это проверить, открываем командную строку и пишем там команду php -v:</p>
49 Если PHP установлен правильно, выведется примерно такое<em>Скриншот: Skillbox Media</em><p>А чтобы запустить PHP-код, нужно создать текстовый файл с расширением .php и написать там какой-нибудь код. Например, такой:</p>
49 Если PHP установлен правильно, выведется примерно такое<em>Скриншот: Skillbox Media</em><p>А чтобы запустить PHP-код, нужно создать текстовый файл с расширением .php и написать там какой-нибудь код. Например, такой:</p>
50 Мы создали файл с расширением .php и написали в нём код, который выводит "Hello world!"<em>Скриншот: Skillbox Media</em><p>Теперь заходим в папку с этим файлом, нажимаем правую кнопку мыши и выбираем пункт "Открыть окно PowerShell здесь".</p>
50 Мы создали файл с расширением .php и написали в нём код, который выводит "Hello world!"<em>Скриншот: Skillbox Media</em><p>Теперь заходим в папку с этим файлом, нажимаем правую кнопку мыши и выбираем пункт "Открыть окно PowerShell здесь".</p>
51 Открываем PowerShell, чтобы запустить PHP-код<em>Скриншот: Skillbox Media</em><p>В открывшемся окне пишем команду php test.php - в консоли должна вывестись наша строка:</p>
51 Открываем PowerShell, чтобы запустить PHP-код<em>Скриншот: Skillbox Media</em><p>В открывшемся окне пишем команду php test.php - в консоли должна вывестись наша строка:</p>
52 Если строка вывелась, значит, PHP работает<em>Скриншот: Skillbox Media</em><p>Перед установкой обновите систему, чтобы во время установки не возникло ошибок:</p>
52 Если строка вывелась, значит, PHP работает<em>Скриншот: Skillbox Media</em><p>Перед установкой обновите систему, чтобы во время установки не возникло ошибок:</p>
53 sudo apt update<p>Затем установите PHP:</p>
53 sudo apt update<p>Затем установите PHP:</p>
54 sudo apt install php<p>Но это ещё не всё. Мы установили последнюю версию языка, однако, чтобы воспользоваться её функциями, нужно установить дополнительный репозиторий.</p>
54 sudo apt install php<p>Но это ещё не всё. Мы установили последнюю версию языка, однако, чтобы воспользоваться её функциями, нужно установить дополнительный репозиторий.</p>
55 <p>Сначала установим предварительные условия:</p>
55 <p>Сначала установим предварительные условия:</p>
56 sudo apt install software-properties-common -y<p>А потом и сам репозиторий:</p>
56 sudo apt install software-properties-common -y<p>А потом и сам репозиторий:</p>
57 sudo add-apt-repository ppa:ondrej/php<p>И ещё раз обновим локальные пакеты, чтобы можно было использовать добавленный репозиторий:</p>
57 sudo add-apt-repository ppa:ondrej/php<p>И ещё раз обновим локальные пакеты, чтобы можно было использовать добавленный репозиторий:</p>
58 sudo apt update<p>Скачать PHP с официального сайта на макбук не получится. Придётся установить дополнительные программы. Первая из них -<a>Homebrew</a>. Это менеджер пакетов, который позволяет установить любые утилиты для программистов.</p>
58 sudo apt update<p>Скачать PHP с официального сайта на макбук не получится. Придётся установить дополнительные программы. Первая из них -<a>Homebrew</a>. Это менеджер пакетов, который позволяет установить любые утилиты для программистов.</p>
59 <p>Заходим на официальный сайт и копируем команду, которую нам предлагают:</p>
59 <p>Заходим на официальный сайт и копируем команду, которую нам предлагают:</p>
60 <em>Скриншот: Skillbox Media</em><p>Открываем терминал: меню приложений → папка "Прочие" → "Терминал". Далее вводим команду:</p>
60 <em>Скриншот: Skillbox Media</em><p>Открываем терминал: меню приложений → папка "Прочие" → "Терминал". Далее вводим команду:</p>
61 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"<p>Дальше в терминале вы увидите следующие инструкции по установке. Нужно будет добавить brew в путь системы. Найдите вот эту строчку и скопируйте все команды оттуда:</p>
61 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"<p>Дальше в терминале вы увидите следующие инструкции по установке. Нужно будет добавить brew в путь системы. Найдите вот эту строчку и скопируйте все команды оттуда:</p>
62 <p>Затем вставьте их снова в терминал, и установка brew будет окончена.</p>
62 <p>Затем вставьте их снова в терминал, и установка brew будет окончена.</p>
63 <p>Наконец, устанавливаем сам PHP с помощью команды brew install php:</p>
63 <p>Наконец, устанавливаем сам PHP с помощью команды brew install php:</p>
64 <em>Скриншот: Skillbox Media</em><p>Чтобы проверить корректность установки, введите в терминале команду php -v:</p>
64 <em>Скриншот: Skillbox Media</em><p>Чтобы проверить корректность установки, введите в терминале команду php -v:</p>
65 <em>Скриншот: Skillbox Media</em><p>В консоли должна вывестись версия языка, который вы только что установили.</p>
65 <em>Скриншот: Skillbox Media</em><p>В консоли должна вывестись версия языка, который вы только что установили.</p>
66 <p>Писать код будем в текстовом редакторе Sublime Text 3, его можно скачать бесплатно на <a>официальном сайте</a>. Создадим папку Server в любом месте на жёстком диске и добавим в неё три файла: index.html, handler.php и styles.css.</p>
66 <p>Писать код будем в текстовом редакторе Sublime Text 3, его можно скачать бесплатно на <a>официальном сайте</a>. Создадим папку Server в любом месте на жёстком диске и добавим в неё три файла: index.html, handler.php и styles.css.</p>
67 <p>Код нашей главной страницы index.html будет иметь следующий вид:</p>
67 <p>Код нашей главной страницы index.html будет иметь следующий вид:</p>
68 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Example&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;form action="handler.php" method="get"&gt; &lt;label&gt; Продукт &lt;input type="text" name="searchText"&gt; &lt;/label&gt; &lt;input type="submit" name="searchSubmit" value="Поиск"&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt;<p>Это код формы с текстовым полем и кнопкой. Атрибут action тега &lt;form&gt; указывает на имя и путь файла-скрипта, который будет обрабатывать введённые данные, - в нашем случае это файл handler.php. Атрибут method указывает на способ передачи данных - get. Эти методы прописаны в протоколе HTTP, по которому сайты общаются с браузером.</p>
68 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Example&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;form action="handler.php" method="get"&gt; &lt;label&gt; Продукт &lt;input type="text" name="searchText"&gt; &lt;/label&gt; &lt;input type="submit" name="searchSubmit" value="Поиск"&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt;<p>Это код формы с текстовым полем и кнопкой. Атрибут action тега &lt;form&gt; указывает на имя и путь файла-скрипта, который будет обрабатывать введённые данные, - в нашем случае это файл handler.php. Атрибут method указывает на способ передачи данных - get. Эти методы прописаны в протоколе HTTP, по которому сайты общаются с браузером.</p>
69 <p>Напишем код для скрипта handler.php.</p>
69 <p>Напишем код для скрипта handler.php.</p>
70 &lt;?php echo "&lt;link rel='stylesheet' href='styles.css'&gt;"; $fruits = array('Яблоки' =&gt; '30кг', 'Груши' =&gt; '50кг', 'Бананы' =&gt; '20кг'); $vegetables = array('Картошка' =&gt; '100кг', 'Огурцы' =&gt; '80кг', 'Помидоры' =&gt; '50кг'); $berries = array('Вишня' =&gt; '20кг', 'Виноград' =&gt; '30кг', 'Малина' =&gt; '50кг'); $searchText = mb_strtolower($_GET['searchText']); if(isset($_GET['searchSubmit'])){ if($searchText == 'фрукты') $products = $fruits; elseif ($searchText == 'овощи') $products = $vegetables; elseif ($searchText == 'ягоды') $products = $berries; echo '&lt;table&gt; &lt;thead&gt; &lt;td&gt;Продукт&lt;/td&gt; &lt;td&gt;Количество&lt;/td&gt; &lt;/thead&gt;'; foreach ((array)$products as $key =&gt; $value) { echo '&lt;tr&gt; &lt;td&gt;'. $key .'&lt;/td&gt; &lt;td&gt;'. $value .'&lt;/td&gt; &lt;/tr&gt;'; } echo '&lt;table&gt;'; } ?&gt;<p>Что тут происходит:</p>
70 &lt;?php echo "&lt;link rel='stylesheet' href='styles.css'&gt;"; $fruits = array('Яблоки' =&gt; '30кг', 'Груши' =&gt; '50кг', 'Бананы' =&gt; '20кг'); $vegetables = array('Картошка' =&gt; '100кг', 'Огурцы' =&gt; '80кг', 'Помидоры' =&gt; '50кг'); $berries = array('Вишня' =&gt; '20кг', 'Виноград' =&gt; '30кг', 'Малина' =&gt; '50кг'); $searchText = mb_strtolower($_GET['searchText']); if(isset($_GET['searchSubmit'])){ if($searchText == 'фрукты') $products = $fruits; elseif ($searchText == 'овощи') $products = $vegetables; elseif ($searchText == 'ягоды') $products = $berries; echo '&lt;table&gt; &lt;thead&gt; &lt;td&gt;Продукт&lt;/td&gt; &lt;td&gt;Количество&lt;/td&gt; &lt;/thead&gt;'; foreach ((array)$products as $key =&gt; $value) { echo '&lt;tr&gt; &lt;td&gt;'. $key .'&lt;/td&gt; &lt;td&gt;'. $value .'&lt;/td&gt; &lt;/tr&gt;'; } echo '&lt;table&gt;'; } ?&gt;<p>Что тут происходит:</p>
71 <ul><li><strong>В</strong><strong>строке 1</strong>с помощью оператора echo вставляем тег link в HTML-код страницы.</li>
71 <ul><li><strong>В</strong><strong>строке 1</strong>с помощью оператора echo вставляем тег link в HTML-код страницы.</li>
72 <li><strong>В строках 3-5</strong>создаётся три массива, которые содержат информацию о фруктах, овощах и ягодах. Подобного рода данные должны храниться в базе данных и затем из неё вытягиваться, но для примера мы ввели их вручную.</li>
72 <li><strong>В строках 3-5</strong>создаётся три массива, которые содержат информацию о фруктах, овощах и ягодах. Подобного рода данные должны храниться в базе данных и затем из неё вытягиваться, но для примера мы ввели их вручную.</li>
73 <li><strong>В строке</strong><strong>7</strong>создаётся переменная $searchText, которая содержит в себе введённое в текстовое поле значение. Это значение берётся из массива $_GET, в квадратных скобках которого указывается имя текстового поля, которое мы задали в файле index.html. Этот массив инициализируется при отправке формы.</li>
73 <li><strong>В строке</strong><strong>7</strong>создаётся переменная $searchText, которая содержит в себе введённое в текстовое поле значение. Это значение берётся из массива $_GET, в квадратных скобках которого указывается имя текстового поля, которое мы задали в файле index.html. Этот массив инициализируется при отправке формы.</li>
74 <li><strong>В строках</strong><strong>9-15</strong>проверяется, была ли нажата кнопка отправки формы searchSubmit. Затем проверяется введённое значение и, в зависимости от того, какой вид продукта ввёл пользователь, в переменную $products записывается массив с данными о продуктах.</li>
74 <li><strong>В строках</strong><strong>9-15</strong>проверяется, была ли нажата кнопка отправки формы searchSubmit. Затем проверяется введённое значение и, в зависимости от того, какой вид продукта ввёл пользователь, в переменную $products записывается массив с данными о продуктах.</li>
75 <li><strong>В строках</strong><strong>17-28</strong>массив выводится на экран в виде таблицы. Как видите, PHP отличает HTML-теги от обычных строк и выводит в окно браузера с помощью функции echo HTML-таблицу.</li>
75 <li><strong>В строках</strong><strong>17-28</strong>массив выводится на экран в виде таблицы. Как видите, PHP отличает HTML-теги от обычных строк и выводит в окно браузера с помощью функции echo HTML-таблицу.</li>
76 <li><strong>В строке</strong><strong>22</strong>наш массив products перебирается с помощью оператора цикла foreach.</li>
76 <li><strong>В строке</strong><strong>22</strong>наш массив products перебирается с помощью оператора цикла foreach.</li>
77 </ul><p>Чтобы придать таблице красивый вид, создадим небольшой файл стилей styles.css. Он подключается в файле handler.php во второй строчке кода.</p>
77 </ul><p>Чтобы придать таблице красивый вид, создадим небольшой файл стилей styles.css. Он подключается в файле handler.php во второй строчке кода.</p>
78 <p>Код styles.css такой:</p>
78 <p>Код styles.css такой:</p>
79 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; }<p>Всё готово. Теперь нужно запустить веб-сервер. Для этого в терминале перейдём в папку с нашими файлами. Введите команду cd и укажите полный путь до вашей папки с файлами - например, C:\Program Files\Server. У нас на macOS будет такая команда:</p>
79 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; }<p>Всё готово. Теперь нужно запустить веб-сервер. Для этого в терминале перейдём в папку с нашими файлами. Введите команду cd и укажите полный путь до вашей папки с файлами - например, C:\Program Files\Server. У нас на macOS будет такая команда:</p>
80 <em>Скриншот: Skillbox Media</em><p>Здесь вводим в консоли команду php -S 127.0.0.1:8000:</p>
80 <em>Скриншот: Skillbox Media</em><p>Здесь вводим в консоли команду php -S 127.0.0.1:8000:</p>
81 <em>Скриншот: Skillbox Media</em><p>Сервер запустился. Теперь открываем браузер и переходим на сайт: <a>http://127.0.0.1:8000/</a>. Готово - вы видите ваш сайт.</p>
81 <em>Скриншот: Skillbox Media</em><p>Сервер запустился. Теперь открываем браузер и переходим на сайт: <a>http://127.0.0.1:8000/</a>. Готово - вы видите ваш сайт.</p>
82 <p>Введём в поле значение "Фрукты" и нажмём кнопку "Поиск".</p>
82 <p>Введём в поле значение "Фрукты" и нажмём кнопку "Поиск".</p>
83 <em>Скриншот: Skillbox Media</em><p>Откроется главная страница index.html. Веб-сервер перебросил нас на выполнение скрипта handler.php, который, в свою очередь, отобразил на экране таблицу фруктов. Обратите внимание на адресную строку:</p>
83 <em>Скриншот: Skillbox Media</em><p>Откроется главная страница index.html. Веб-сервер перебросил нас на выполнение скрипта handler.php, который, в свою очередь, отобразил на экране таблицу фруктов. Обратите внимание на адресную строку:</p>
84 Так выглядит наш get-запрос<em>Скриншот: Skillbox Media</em><p>После вопросительного знака указывается имя параметра, в данном случае это название поля searchText, и через знак = указывается его введённое значение. Таких пар "имя = значение" может быть несколько, они должны отделяться друг от друга знаком &amp;. Если вам нужно передать большой текст или конфиденциальные данные (например, логин и пароль), то не рекомендуем использовать get-запрос - для таких случаев есть метод post.</p>
84 Так выглядит наш get-запрос<em>Скриншот: Skillbox Media</em><p>После вопросительного знака указывается имя параметра, в данном случае это название поля searchText, и через знак = указывается его введённое значение. Таких пар "имя = значение" может быть несколько, они должны отделяться друг от друга знаком &amp;. Если вам нужно передать большой текст или конфиденциальные данные (например, логин и пароль), то не рекомендуем использовать get-запрос - для таких случаев есть метод post.</p>
85 <p>При дальнейшем изучении - например, в рамках курса "<a>PHP-разработчик с нуля</a>" от Skillbox - вы обязательно узнаете, как PHP взаимодействует с базой данных, что такое объектная модель, как выполнять асинхронные запросы без перезагрузки страницы и как строить архитектуру высоконагруженных систем.</p>
85 <p>При дальнейшем изучении - например, в рамках курса "<a>PHP-разработчик с нуля</a>" от Skillbox - вы обязательно узнаете, как PHP взаимодействует с базой данных, что такое объектная модель, как выполнять асинхронные запросы без перезагрузки страницы и как строить архитектуру высоконагруженных систем.</p>
86 <p>Ещё раз подчеркнём, что PHP - один из самых востребованных языков программирования на данный момент. И если вдруг вы до сих пор не решили, стоит начинать учить PHP или нет, можете быть уверены - он откроет для вас большие возможности. Сможете ли вы ими воспользоваться - зависит только от вас.</p>
86 <p>Ещё раз подчеркнём, что PHP - один из самых востребованных языков программирования на данный момент. И если вдруг вы до сих пор не решили, стоит начинать учить PHP или нет, можете быть уверены - он откроет для вас большие возможности. Сможете ли вы ими воспользоваться - зависит только от вас.</p>
87 <a>Научитесь: Профессия PHP-разработчик с нуля до PRO Узнать больше</a>
87 <a>Научитесь: Профессия PHP-разработчик с нуля до PRO Узнать больше</a>