Простой учебник
В этом кратком и простом учебнике мы бы хотели показать самые основы PHP. Этот текст включает в себя только создание динамических Web-страниц с помощью PHP, однако реальная область применения PHP гораздо шире. В разделе «Что может PHP» приведена дополнительная информация.
Web-страницы, созданные с использованием PHP, обрабатываются как обычные HTML-страницы. Их можно создавать и изменять точно таким же образом, как и обычные страницы на HTML.
User Contributed Notes
There are no user contributed notes for this page.
- Copyright © 2001-2023 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
С чего начать учить PHP: особенности, синтаксис и идеи для первых проектов
В этой статье разберемся в перспективах и популярности PHP в 2022 году, рассмотрим плюсы и минусы языка, поговорим про платформы для тренировки навыков на практике и источниках идей для первых проектов.
- Введение
- Преимущества и особенности PHP
- Сообщество
- Низкий порог входа
- Обратная совместимость
- Комментарии
- Переменные
- Другие элементы
Введение
PHP — самый популярный язык для веб-разработки. Почти 80% всех сайтов в интернете написаны на этом языке.
Поскольку язык очень широко распространен, работу на нем можно найти практически в любой сфере. Особенно он актуален в компаниях на этапе создания mvp (минимально жизнеспособного продукта) или среди разработчиков CRM-систем.
Код на PHP выглядит, например, так:
function isCorrectPassword($password) $length = strlen($password); return $length > 8 && $length 20; > isCorrectPassword('qwerty'); // false isCorrectPassword('qwerty1234'); // true isCorrectPassword('zxcvbnmasdfghjkqwertyui'); // falseПреимущества и особенности PHP
Сообщество
Сообщество помогает с проблемами, которые не получается решить чтением документации и гуглом. У PHP оно большое и дружелюбное к новичкам — причем как в англоязычном мире, так и в России.
Крупнейший глобальный форум по языку программирования — PHP Community , в России — PHP Club . Существует несколько десятков крупных телеграм-чатов для разработчиков разного уровня (самые популярные: раз , два , три ), а также отдельные чаты для джунов , где можно задавать любые вопросы и не бояться осуждения.
Низкий порог входа
Это и плюс, и минус языка. С одной стороны, начать программировать на PHP относительно просто, с другой — некоторые разработчики не выходят за рамки с CMS, работают на уровне конструкторов и редко касаются кода. От этого страдает сообщество, а поиск PHP-разработчика, который понимает теорию и умеет кодить, превращается в действительно сложную задачу.
Составьте свое первое резюме: Вы можете бесплатно опубликовать свое резюме в нашем сервисе «Хекслет-CV» и получить советы по его улучшению от разработчиков и HR-менеджеров
Обратная совместимость
Обратная совместимость — термин, которым обозначают легкость обновления кода под новую версию. Разработчики PHP стараются поддерживать ее на высоком уровне: к моменту выхода восьмой версии обратная совместимость у языка почти полная (за исключением некоторых моментов).
Это и преимущество, и недостаток языка программирования: с одной стороны, разработчики могут не бояться переезда и всегда использовать новую версию. С другой — в PHP до сих пор остались некоторые функции стандартных библиотек, которые работают странно и несогласованно. Яркий пример — функции array map и array reduce, у которых положение входного массива и функции отличаются. Это не очевидно и к этому надо привыкать.
Синтаксис PHP
Начнем с азов: строку Hello, world! можно вывести на экран двумя способами.
- С помощью специальной команды echo
echo 'Hello, World!'; // => Hello, World!- С помощью функции print_r().
print_r('Hello, World!'); // => Hello, World!Любой код на PHP должен быть обёрнут в конструкцию , где — закрывающий. Это особенность языка программирования.
Комментарии
Комментарии в коде бывают двух видов: однострочные (//) и многострочные (/* */).
/* * The night is dark and * full of terrors. */ print_r('I am the King');Переменные
Перед объявлением переменной не нужно указывать ее тип — достаточно поставить значок $. Кроме того, одно значение можно присвоить нескольким переменным.
Другие элементы
Фреймворки для PHP
У PHP множество фреймворков, но в этой статье кратко рассмотрим три самых популярных: Laravel, Yii и Symfony.
- Laravel — фреймворк с самым низким порогом входа, с него можно начинать знакомство с возможностями языка. Если возникнут трудности, по фреймворку есть несколько чатов: для базовых вопросов и для кейсов посложнее .
- Yii — еще один фреймворк с низким порогом входа: для начала работы с ним достаточно знать PHP на уровне новичка. Русскоязычные чаты разбиты по версиям: первая , вторая и третья .
- Symfony — самая масштабная библиотека-фреймворк на PHP. Возможностей больше, но и порог входа выше.
Что учить вместе с PHP
PHP — язык для веб-разработки, поэтому знать HTML и CSS хотя бы на базовом уровне нужно обязательно. То же касается протокола HTTP на уровне понимания процесса работы запросов клиент-сервер.
Остальные технологии можно разделить на две категории:
- Полезно знать. Git (нужен всем программистам, которые собираются заниматься коммерческой разработкой), SQL (подавляющее число веб-приложений имеют базу данных), Nginx и Apache (для настройки окружения);
- Дополнительные навыки. Linux/Unix, JavaScript, Docker.
Как выбрать редактор кода или среду для разработки на PHP
На первом этапе сложная среда разработки вроде PHPStorm не нужна — новичку IDE покажется монстром с множеством функций, который к тому же медленно открывается.
Sublime и VSCode, напротив, быстро открываются, настраиваются и позволяют относительно просто подключать дополнительные фичи. Например, инструменты для взаимодействия с базой данных или с кэшем.
Когда понадобятся инструменты для работы с Git, шаблонизаторами, окружением, тестами и другими технологиями, можно переходить на IDE — например, на PHPStorm, Netbeans и Aptana Studio.
Какие книги и сайты использовать для изучения PHP
Выше уже говорилось, что при изучении PHP важно уделять много внимания теории, а не только учиться писать код. Этот язык программирования дает очень размытое представление о том, как его компоненты работают на базовом уровне. Понимание теории поможет освоить и PHP, и любой другой язык программирования.
На русском языке есть несколько подходящих книг:
- «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих», Адитья Бхаргава;
- «Код: тайный язык информатики», Чарльз Петцольд;
- «Чистый код», «Идеальный программист», «Чистая архитектура», Роберт Мартин.
Важно уточнить, что читать эти книги лучше через полгода после начала обучения. С одной стороны, за это время появится представление о PHP, с другой — желание применить новые знания и переписать весь проект возникнет не сразу.
Если говорить о сайтах, то на PHP: The Right Way собрана обширная база материалов для разработчиков разных уровней, а CodeBasics подходит для изучения синтаксиса.
Где тренироваться
Соревнования помогают развивать навыки кодирования и учат видеть неочевидные пути решения задач. Вот три самых популярных платформы:
- Codewars . Платформа с соревнованиями для разработчиков разных уровней подготовки. Все решения участников публикуются в открытом доступе после завершения раунда. Это важный элемент обучения: можно решать задачу несколько дней в 100 строк кода, а можно сделать то же самое за несколько часов и пять строк. Например, с помощью готовых функций.
- Hackerrank . Кроме соревнований на платформе есть раздел подготовки к интервью с самыми популярными и актуальными вопросами. Например, есть блоки по массивам, объектам и другим сущностям — с объяснением, как это работает, и с задачами на закрепление знаний.
- Leetcode . Раздел Learn с теорией и практикой для ее закрепления помогает понять логику программистских задач и научиться решать их практически с нуля.
Вместо заключения
Главный итог обучения — смена профессии. Вот несколько советов, с чего начать переход от задач и тренировки к реальным проектам в портфолио.
Лучшее, с чего можно начать — найти в своей жизни момент, который можно автоматизировать. Например, если вы хотите выработать привычку читать каждый день по 10 страниц. Можно сделать приложение для учета количества страниц книги, прочитанной в определенный день. Утилитарность приложения почти гарантирует, что проект будет доведен до конца.
- Задачи, которые встречаются в реальных проектах
Можно попробовать реализовать функции, которые встречаются в реальных проектах — например, форму для сайта. В ней можно сделать HTML и CSS, добавить JS и прописать логику. Например, реализовать сохранение в базу данных или отправлять сообщение на почту. На таком проекте можно учиться разделять логику. Например, сделать так, чтобы один отвечал за отображение, другой — за саму форму, третий — за сохранение данных в базе.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях
Хочу научиться программировать на PHP. С чего начать?
Подборка курсов, книг, основных аспектов языка для изучения PHP. Также рассказываем, с чего начать и как можно обучиться играючи.
Рассказываем, что делать, если вы хотите изучить PHP с нуля: с чего начать путь программиста, как продолжить и успешно пройти первое собеседование.
Зачем учить PHP?
Среди главных преимуществ языка:
- простота и низкий порог вхождения;
- эффективность для решения задач веб-разработки;
- множество удобных фреймворков;
- востребованность навыков: на рынке есть много вакансий как для Junior PHP-разработчиков, так и для опытных Senior’ов;
- возможность использования в изолированной среде;
- большое количество материалов для изучения языка, активное сообщество.
С другой стороны, язык часто критикуют за несогласованный синтаксис функций, отсутствие обратной совместимости между версиями, многопоточности и поддержки многобайтовых кодировок в ядре.
Что учить?
- основы языка: синтаксис, типы данных, переменные, функции, константы, массивы, объекты, выражения;
- основы HTML, CSS и веб-дизайна;
- реляционные БД;
- Linux, HTTP, Nginx, Apache;
- FTP, Git и другие инструменты;
- шаблоны проектирования;
- Object-relational mapping (ORM);
- Model-View-Controller (MVC);
- фреймворки и микрофреймворки;
- тестирование;
- средства виртуализации: Vagrant, Docker.
Где писать код?
IDE
Попробуйте каждую среду разработки и поймёте, с какой платформой вам комфортнее всего работать:
Редакторы кода для PHP-проектов
Где учить?
Учебники
PHP: The Right Way
PHP. Сборник рецептов
Изучаем PHP 7. Руководство по созданию интерактивных веб-сайтов
Ещё книги по PHP — в нашей подборке.
Онлайн-курсы
- Хекслет;
- Geekbrains и Mail.ru;
- FructCode;
- PHP UP.
Всё выучил, что дальше?
- Проходите тесты на знание PHP.
- Попробуйте найти заказчика на небольшой простой сайт. Если не найдёте — сделайте «для себя». Экспериментируйте с кодом, добавляйте эффекты, спрашивайте советы на профильных форумах. Купите домен и арендуйте хостинг, опубликуйте сайт. Расскажите о нём на тех же форумах и попросите оценить.
- Следите за вакансиями PHP-программистов на Хантиме, hh.ru, у нас на Tproger и других ресурсах. Решайте тестовые задачи, ходите на собеседования.
- Найдите наставника. Идеально, если вы будете учиться под руководством опытного программиста с хорошими коммуникативными навыками. Им может быть ваш первый работодатель, знакомый с форума, преподаватель курса PHP. Взамен предлагайте небольшую скидку на свои услуги. Так вы быстрее освоитесь в профессии и заведёте полезные связи. А ещё со временем такое сотрудничество может вылиться в какой-то большой проект.
- Посещайте конференции, хакатоны, курсы, вебинары, конкурсы. Найти подходящее событие для программистов можно у нас.
А ещё?
Не заставляйте себя всё время сидеть за изучением скучной теории, не пытайтесь писать код, если он «не идёт». Лучше учитесь, развлекаясь. Например, читайте наши материалы:
- 20 вещей, которые отличают PHP-программиста от обезьянки
- Задачи для программистов, ответы на задания различной сложности
И играйте в игры для программистов. Для изучения PHP обратите внимание на CodinGame и CodeWars.
Изучить программирование на PHP. Вводная

Основная задача программирования — заставить компьютер выполнять определенные и нужные программисту действия. Поэтому, наша первая программа будет выглядеть так:
$me = ‘Programmer’;
makeHappy($me);Рассмотрим подробнее что же написано в этой программе. Опытные программисты советуют читать код подобно книге, пытаясь понять смысл написанного исходя из смысла попадающихся слов и символов. Ну и использовать логику, конечно.
Для тех кто и так знает, что делает этот код — в статье для вас есть блудницы и дух черно-белого верблюда.
Мы последуем этому совету и разберем код, пытаясь понять его смысл.
Поехали дальше.
Вторая строка:$me = ‘Programmer’;
Первое слово, которое мы встречаем в этой строке — слово «me», на основании чего делаем вывод, что разговор тут идет о создателе данной программы. Доллар перед словом означает, что данная последовательность символов обретает свой смысл в виде переменной.
Что же такое переменная? Переменная — это место, где хранятся наши данные, а для удобства обращения, мы даем имя этой части памяти.
Если у нас есть выделенная память, то глупо ее оставлять пустой, верно? Поэтому следующим символом » +» — это не «плюс», а «оператор сложения», «-» — «оператор вычитания», «*» — «оператор умножения», а «\» — оператор деления. Конечно, этот список операторов далеко не полный, но смысл остается тот же — «оператор» — это что-то, что совершает определенные действия (у программистов называется «совершает операцию») над исходными данными, которые называются операндами.
Говоря языком программирования —
Означает оператор сложения, выполняющий операцию сложения над операндом-переменной $a и операндом-переменной $b. Ну или «а плюс б», если вы не на экзамене по программированию.
Если оператор работает не с двумя, а с одним операндом, он называется «унарным» от испанского слова «уно» — один. Старый знакомый из математики минус — пример такого оператора, совершающего операцию отрицания своего операнда. Если $a — положительное, то -$a — отрицательное, по модулю равное $a.
Подобно математическим уравнениям, мы можем комбинировать операторы вместе.
Например,$a=1;
$b=2;
$c=-($a*2 + $b);Чему в итоге равно $c?
Строчкой «$c=-(2*$a + $b)» мы говорим компьютеру присвоить переменной $c «отрицание суммы 2 умножить на $a и $b». Так как две строчки выше присваивают переменной $a значение 1, а переменной $b 2, то вычисление результата сводится к решению простого примера -(2*1+2), результатом которого является «-4»
Но в нашей программе переменной присваивается не число, а последовательность букв в кавычках. Это превращает переменную в «переменную строкового типа», или просто «строку». А последовательность букв в кавычках означает ровно то что вы видите — последовательность букв. Кавычки используются для обозначения границы этой последовательности. Иногда содержимое строки не носит абсолютно никакого смысла, но у хорошего программиста нет бессмысленных мест в программе, поэтому в строке
$me=’Programmer’, мы говорим о себе, присваивая себе строку «Programmer», и с данного момента считаем себя программистом (конкретно в этой программе).Силой кода вы объявили себя программистом, и все что осталось — это закончить мысль. Для этого служит символ «;». Этот символ завершает оператор, сообщая, что больше действий в этом операторе производиться не будет.
Например, мы хорошо знаем что будет в переменной $c после выполнения кода
$a=1;
$b=2;
$c=-($a*2 + $b);но что будет, если мы уберем скобки и поставим точку с запятой в другое место? Скажем, так:
$a=1;
$b=2;
$c=-$a*2; + $b;Теперь оператор присваивания для $c заканчивается не после прибавления $b, а перед ним, и следовательно, суммирование с $b не происходит, т.к. оператор заканчивается на -$a*2. Теперь значение $c — это отрицание результата умножения $a на 2.
Закончив с присвоением себе титула программиста, мы переходим к следующей строке.
makeHappy($me);
Мы уже знаем про операторы, и их способность беспрекословно выполнять наши приказы. Но что делать, когда хочется совершить действие, выходящее за рамки возможностей оператора? Тут на помощь нам приходит функция. Если переменная дает название области памяти, то функция — это название для последовательности действий. Когда нам нужно совершить эти действия над данными, мы должны вызвать функцию.
Для вызова функции нужно, одевшись в черный плащ с капюшоном, в полнолуние читать вслух учебник по латыни, стоя лицом на запад внутри круга, нарисованного кровью старых блудниц.
Ну или просто написать имя функции, в скобках через запятую перечислив данные, с которыми эта функция будет работать.
И если эффективность первого метода сомнительна, второй способ работает всегда. И обратно — если мы видим имя, после которого в скобках идет перечисление переменных, других данных или просто ничего, то скорее всего перед нами — вызов функции.
Будучи переданными в функцию данные становятся «аргументами» функции. В качестве аргументов мы так же можем использовать операторы.
Например, func($a) вызывает функцию для аргумента-переменной $a, в то время как func($a+$b) вызывает функцию, получая в качестве аргумента результат сложения $a и $b.
Как догадаться что делает функция? Нужно взглянуть на ее имя. Хорошие программисты всегда используют в именах функции глаголы, означающие действия, совершаемые над аргументами. Стоящие рядом существительные говорят о том, что выбрано для воздействия, а прилагательные — раскрывают дополнительные особенности существительных.
Сложновато, правда? Поэтому просто читайте что написано. Если написано » printReport «, то скорее всего функция печатает отчет, а если написано » eatCat «, то функция отправит вашего кота есть. Или съест вашего кота.
Возвращаясь к нашему коду —
makeHappy($me)
Судя по названию, делает счастливым, а судя по списку операндов, делает счастливым программиста, создавшего ее. Данная программа является универсальным личным генератором счастья. На этом я заканчиваю рассказ о программировании — ведь теперь у вас есть универсальный способ доставить счастье кому угодно. Заказчику, начальнику и самому себе конечно. Все. Занавес, выключаем рубильник и расходимся.
Что, что простите? Функция не определена. Ой, извините, забыл маленькую деталь.
Прежде чем компьютер принесет вам счастье, вы должны научить его это делать. Как? С помощью магии, конечно! Магии программирования — так что одеваем черные плащи, берем в руки клавиатуру, учебник латыни и вперед — к созданию личных генераторов счастья. И хватит уже на сегодня — полнолуние, и у меня запланирован интересный вечер в компании старых блудниц.
