Чему вы научитесь
- Синтаксис PHP — переменные, операторы, ветвления, циклы.
- Структуры данных — массивы (как индексные, так и ассоциативные), их трансформации.
- Декомпозиция — выделение чистых функций с типизацией и понятным контрактом.
- Работа с текстом — корректная обработка UTF-8, регулярные выражения, JSON.
- Файлы и потоки — потоковое чтение, CSV, разделение STDOUT/STDERR.
- Обработка ошибок — современная модель через исключения с иерархией.
- CLI-утилиты — аргументы, exit-коды, переменные окружения, pipe-friendliness.
О курсе
Промокод: HELLOWORLD
Куда ведёт фаза. От нуля знаний до уверенного владения инструментарием, необходимым для создания классических ETL-скриптов. Вы заложите фундамент из современного синтаксиса и инженерных практик, а в качестве выпускного проекта соберёте CLI-утилиту уровня production-черновика, способную работать с большими файлами и корректно встраиваться в Unix-окружение. Это фундамент всех последующих фаз роадмапа.
Программа по юнитам
В курсе используется плоская схема организации материалов. По своей сути, юнит - это один урок из 10-12 шагов + вопросы и задачи, но здесь каждый шаг стал отдельным уроком с маленькой порцией теории. Так, вы сразу видите всё, что вас ожидает при записи на курс.
Unit 0 — Введение: программирование, компьютер, PHP
На что направлено: сформировать базовое понимание того, что такое программа, как устроен компьютер на простом уровне, чем отличаются интерпретируемые и компилируемые языки. Объяснить, почему мы выбираем PHP для этого роадмапа.
Ключевая мысль: программа — это рецепт для очень дисциплинированного, но совершенно глупого помощника. Программирование — искусство писать рецепты, которые работают.
Unit 1 — Установка PHP, IDE и первая программа
На что направлено: поднять рабочее окружение (PHP, PhpStorm/VS Code, командная строка), запустить первую программу, понять цикл «написал → запустил → исправил».
Ключевая мысль: инструменты должны не мешать. Готовая среда — это вложение в скорость работы на месяцы вперёд.
Unit 2 — Переменные и типы данных
На что направлено: освоить типы PHP (int, float, string, bool, array, null), их семантику, приведение типов, truthy/falsy, опасности нестрогого сравнения.
Ключевая мысль: «"0" — это false, "00" — true» — это PHP. Понимание тонкостей типов спасает от десятков багов в production.
Unit 3 — Операторы
На что направлено: все категории операторов (арифметические, сравнения, логические, строковые, тернарные, null coalescing), приоритет операций, <=> (spaceship), ?? и ??=.
Ключевая мысль: == vs === — это не стилистический выбор. Используйте === всегда, кроме редких сознательных исключений.
Unit 4 — Условные конструкции: if, switch, match
На что направлено: управление потоком через ветвления. Современный match (PHP 8.0+) как стандарт; почему switch устарел; идиома match (true) для цепочек условий; guard clauses для уплощения вложенности.
Ключевая мысль: код должен читаться как линейная история без вложенных лестниц.
Unit 5 — Циклы: while, do-while, for, foreach
На что направлено: четыре формы циклов и их семантика, управление через break/continue, бесконечные циклы как идиома REPL'ов, вложенные циклы и понимание сложности.
Ключевая мысль: для коллекций — всегда foreach. Для всего остального — выбирай по интенту: «пока условие» (while) или «N раз» (for).
Unit 6 — Массивы: индексные, ассоциативные, многомерные
На что направлено: понять, что массив PHP — упорядоченный hashmap: одна структура для list и dict. Освоить создание, чтение, запись, обход, сортировки, array_map/array_filter/array_reduce, spread и destructuring, ловушки (нормализация ключей, array_merge vs +, copy-on-write).
Ключевая мысль: PHP-массив — самый универсальный, но часто не самый правильный инструмент. По мере роста проекта его вытесняют классы и типизированные коллекции.
Unit 7 — Функции: объявление, аргументы, возврат, область видимости
На что направлено: декомпозиция как главный навык. Типизация параметров и возврата, именованные аргументы (PHP 8.0+), variadic, замыкания и стрелочные функции, чистые функции, рекурсия и её ограничения в PHP, чек-лист хорошей функции.
Ключевая мысль: функция — это контракт: имя + параметры + возврат. Хорошая функция читается как одна понятная мысль.
Unit 8 — Строки и работа с текстом
На что направлено: четыре способа создания строк, байты vs Unicode-символы и mb_*-семейство, поиск (включая современные str_contains/str_starts_with/str_ends_with PHP 8.0+), форматирование через sprintf/number_format, регулярные выражения с флагом u для UTF-8, JSON с JSON_THROW_ON_ERROR и JSON_UNESCAPED_UNICODE, безопасность (htmlspecialchars, password_hash).
Ключевая мысль: PHP-строка — это последовательность байтов, не символов. Этот недостаток лежит в основе огромного количества багов; защита — mb_* для пользовательского текста.
Unit 9 — Файлы и потоки ввода-вывода
На что направлено: работа с файлами через простые file_get_contents/file и потоковое чтение через fopen/fgets/fgetcsv, режимы открытия, обработка BOM, стандартные потоки STDIN/STDOUT/STDERR, обход директорий, stream wrappers (php://stdin, http://, php://memory), flock и lock-файлы, try/finally для гарантированного освобождения handle'ов.
Ключевая мысль: «загрузить весь файл в память» работает на тестах и падает в production. Потоковое чтение — стандарт.
Unit 10 — Обработка ошибок: errors, exceptions, try/catch
На что направлено: две модели ошибок в PHP — legacy (false + warning) и современные исключения. Иерархия Throwable → Error/Exception → Runtime/Logic, стандартные классы SPL, создание собственных исключений с контекстом, цепочка через previous, конвертация legacy через set_error_handler, антипаттерны (глушение, потеря previous, исключения для нормального потока).
Ключевая мысль: ошибка — это информация для пользователя и обработчика. Generic RuntimeException("error") хуже, чем MissingFieldException с конкретным сообщением.
Unit 11 — CLI: аргументы, переменные окружения, exit-коды, композиция утилит
На что направлено: написание полноценной CLI-программы. GNU-конвенция аргументов и getopt, переменные окружения и .env, детальная семантика exit-кодов (sysexits.h), цвета через ANSI escape codes с проверкой posix_isatty, graceful shutdown через сигналы, шаблон production-CLI с main(array $argv): int.
Ключевая мысль: PHP-программа должна быть гражданином Unix-мира: чистый STDOUT, диагностика в STDERR, корректные exit-коды, поддержка pipe — это не опции, а минимальная норма.
Pet-project — CLI-утилита: генератор отчётов из CSV
На что направлено: собрать все навыки фазы в одну работающую программу. Реальный кейс — генерация агрегированного отчёта из CSV с продажами: чтение, фильтрация по периоду, группировка, агрегация (count/sum/avg/min/max), сортировка, вывод в csv/json/table.
Ключевая мысль: разница между «написал и работает» и «работает в production» проявляется на одной и той же задаче. После пет-проекта вы видите эту разницу глазами и можете на неё влиять.
Для кого этот курс
Начальные требования
Курс рассчитан на нулевой уровень в программировании. Здесь не требуется, чтобы вы уже умели писать код. От вас нужно только базовое владение компьютером на уровне уверенного пользователя, готовность работать с англоязычным контентом (интерфейс инструментов, ошибки в программах и т.п.), желание понимать, а не заучивать.
Этого достаточно, чтобы стартовать.
Наши преподаватели
Как проходит обучение
Каждая фаза — это законченный навыковый блок. Юниты внутри фазы выстроены от базового к продвинутому и содержат теорию, контрольные вопросы и практические задачи с ответами и примерами решений. Фаза завершается пет-проектом, основанным на кейсе реальной компании.
Обучение полностью самостоятельное и автономное. Вы читаете теорию, затем отвечаете на контрольные вопросы в форме свободного ответа и сверяетесь с эталонным ответом на следующем шаге. После этого переходите к практическим заданиям. Где возможно, проверка автоматизирована, в остальных случаях вы сверяете своё решение с нашим.
В конце фазы — быстрое повторение ключевых мыслей, которое поможет освежить теорию и подготовиться к интервью.
Один модуль можно пройти в демо-режиме, чтобы оценить формат до покупки.
Программа курса
Сертификат
Что вы получаете
- Системный фундамент без пробелов. Вы не просто выучили синтаксис, а понимаете, что, как и почему работает. Это база, на которую лягут все следующие фазы и любой PHP-фреймворк.
- Пет-проект в портфолио. CLI-утилита для генерации отчётов, написанная по production-стандартам: с потоковой обработкой, исключениями, exit-кодами и поддержкой pipe. То, что можно показать на собеседовании уже после первой фазы.
- Быстрое повторение ключевых мыслей всей фазы. Шпаргалка для подготовки к собеседованию, которая останется с вами и после курса.
- Навык самостоятельного инженерного мышления. Вы научитесь читать код, разбираться в ошибках и принимать осознанные решения, а не копировать без понимания.
- Готовность к Фазе 1. Вы закрыли фундамент и можете двигаться дальше по роадмапу без страха, что «что-то пропустили».