Курс «PHP: Построение абстракций»
Последнее обновление: 7 августа 2025 г.
3 900 рублей в месяц за все курсы
Включено в курс
Описание
На этом курсе вы познакомитесь с основами функционального программирования и понятием декларативного программирования. Вы узнаете, как использовать функции высшего порядка и работать с лямбда-функциями. Еще вы научитесь комбинировать функции, строить рекурсии с аккумулятором и оптимизировать хвостовую рекурсию. Также вы изучите структуры данных и научитесь использовать функции высшего порядка: map, filter и свертка. Вы познакомитесь с концепцией разделения программы на функциональные блоки и научитесь работать с общей структурой данных. В конце курса вы узнаете о присваивании и изменении состояния, а также о создании объектов. Вы рассмотрите преимущества и недостатки присваивания и сохранения состояния, чтобы лучше понимать, как использовать эти концепции в своих программах. Полученные знания помогут разрабатывать более эффективные и чистые программы. Этот курс является адаптацией под php знаменитого курса «Структура и интерпретация компьютерных программ», который преподается на первом курсе МИТ (Massachusetts Institute of Technology) с 70-х годов.
Чему вы научитесь
- Применять функциональное и декларативное программирование
- Создавать гибкие алгоритмы с помощью функции высшего порядка и лямбда-функции
- Обрабатывать сложные задачи с помощью рекурсивных функций с аккумулятором
- Улучшать читаемость, разделяя программу на модули и функциональные блоки
- Обрабатывать коллекции данных с помощью структуры данных и функции высшего порядка
Программа
1 | Введение Знакомимся с курсом, декларативным программированием и других парадигмах |
2 | Hello World Пишем свою первую программу и обсуждаем способы ее запуска |
3 | Абстракция с помощью функций Знакомимся с литералами и выражениями, а так же приоритетом операций в них |
4 | Комбинирование функций Учимся комбинировать функции, знакомимся с понятиями окружения, порядком вычисления и с подстановочной моделью вычислений |
5 | Линейно-рекурсивный процесс Знакомимся с понятием вычислительных процессов и линейно-рекурсивным процессом |
6 | Линейно-итеративный процесс Учимся строить рекурсии с аккумулятором и знакомимся с оптимизацией хвостовой рекурсии |
7 | Функции первого класса и передача функций как аргументов Учимся передавать анонимные функции как аргументы других функций |
8 | Функции первого класса и возврат как значения Учимся строить более обобщенные функции и генерировать из них конкретные |
9 | Данные Пытаемся понять, что такое данные в рамках языка программирования и как строить структуру данных на примере pair |
10 | Абстракция данных Знакомимся с идеей абстракции данных на примере создания структуры, представляющей рациональное число |
11 | Замкнутые множества Знакомимся с понятием замыкания при использовании математической операции на примере вложенных пар |
12 | Map Знакомимся с функцией высшего порядка, позволяющей применять переданную функцию к элементам множества |
13 | Фильтрация Знакомимся с еще одной полезной функцией высшего порядка: filter |
14 | Свертка Пишем функцию, позволяющую производить свертку нескольких значений |
15 | Деревья Изучаем структуру данных «двоичное дерево» и ее реализацию в PHP с помощью списков |
16 | Стандартные интерфейсы Рассматриваем концепцию разделения программы на функциональные блоки, работающие с общей структурой данных |
17 | Оператор присваивания Рассматриваем концепцию присваивания и изменения состояния |
18 | Объекты Продолжаем изучение оператора присваивания и переходим к созданию объектов |
19 | Преимущества присваивания Рассматриваем полезные и положительные аспекты сохранения состояния |
20 | Недостатки присваивания Рассматриваем проблемы, связанные с использованием присваивания и сохранением состояния |
Формат обучения
Испытания
1 | Рекурсивный реверс |
2 | Сглаживание функций |
3 | Плоское дерево |
4 | Одинаковая чётность |
5 | Композиция функций |
Рекомендуемые программы

- Тренажер с практикой
- Бессрочный доступ к теории
- Асинхронный формат
3 900 рублей в месяц за все курсы