курс

PHP: Построение абстракций

6086 студентов
Последнее обновление: 14 апреля 2025
Курс PHP: Построение абстракций
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат
    обучения

Включено в курс

20 уроков (видео и/или текст)
24 упражнения в тренажере
64 проверочных теста
Доступ к остальным курсам платформы

Чему вы научитесь

  • Применять функциональное и декларативное программирование
  • Создавать гибкие алгоритмы с помощью функции высшего порядка и лямбда-функции
  • Обрабатывать сложные задачи с помощью рекурсивных функций с аккумулятором
  • Улучшать читаемость, разделяя программу на модули и функциональные блоки
  • Обрабатывать коллекции данных с помощью структуры данных и функции высшего порядка

Описание

На этом курсе вы познакомитесь с основами функционального программирования и понятием декларативного программирования. Вы узнаете, как использовать функции высшего порядка и работать с лямбда-функциями. Еще вы научитесь комбинировать функции, строить рекурсии с аккумулятором и оптимизировать хвостовую рекурсию. Также вы изучите структуры данных и научитесь использовать функции высшего порядка: map, filter и свертка. Вы познакомитесь с концепцией разделения программы на функциональные блоки и научитесь работать с общей структурой данных. В конце курса вы узнаете о присваивании и изменении состояния, а также о создании объектов. Вы рассмотрите преимущества и недостатки присваивания и сохранения состояния, чтобы лучше понимать, как использовать эти концепции в своих программах. Полученные знания помогут разрабатывать более эффективные и чистые программы. Этот курс является адаптацией под php знаменитого курса «Структура и интерпретация компьютерных программ», который преподается на первом курсе МИТ (Massachusetts Institute of Technology) с 70-х годов.

Чтобы учиться было проще, стоит заранее пройти курс Основы PHP.

Программа курса

Продолжительность 26 часов
  • 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

    Недостатки присваивания

    Рассматриваем проблемы, связанные с использованием присваивания и сохранением состояния

    тесты

    упражнение

  • 21

    Дополнительные материалы

    Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

#
Задание
% завершений

Рекомендуемые программы

профессия
Изучите Python, Django, REST и Fast API для создания веб-приложений
10 месяцев
с нуля
Старт 9 октября
профессия
Изучите HTML, CSS, JavaScript и React
10 месяцев
с нуля
Старт 9 октября
профессия
Изучите Java и фреймворк Spring Boot и REST API
10 месяцев
с нуля
Старт 9 октября
профессия
Изучите виды тестирования, тест-кейсы, DevTools, Postman, SQL, Git и HTTP/HTTPS.
4 месяца
с нуля
Старт 9 октября
профессия
новый
Полное погружение в DevOps: весь стек от Linux до Kubernetes
14 месяцев
с нуля
в разработке
Старт 9 октября
профессия
Изучите PHP и Laravel для разработки и проектирования REST API
10 месяцев
с нуля
Старт 9 октября
профессия
новый
Изучите Go, работу с БД, HTTP, конкурентность, горутины, многопоточность
6 месяцев
c опытом
в разработке
Старт 9 октября
профессия
новый
Изучите SQL, Python, Pandas, Tableau, Superset и методы A/B-тестов.
9 месяцев
с нуля
Старт 9 октября
профессия
новый
На курсе изучите: Git, JavaScript, Playwright, юнит-, API- и UI-тесты, Docker и SQL
8 месяцев
c опытом
Старт 9 октября
профессия
новый
На курсе изучите Python, фреймворки для тестирования, автоматизация UI и API
8 месяцев
c опытом
Старт 9 октября
профессия
новый
Изучите Java и фреймворк для UI- и API-автотестов
8 месяцев
c опытом
Старт 9 октября
профессия
Изучите JavaScript, Node.js, Fastify и REST API
10 месяцев
с нуля
Старт 9 октября
профессия
Освоите JavaScript, Node.js, Fastify и React для фронтенда и бэкенда.
16 месяцев
с нуля
Старт 9 октября
профессия
новый
Изучите деплой, автоматизацию, GitHub Actions, Docker, Ansible, Terraform, IaC
3 месяца
c опытом
в разработке
Старт 9 октября
профессия
Изучите Ruby, Rails и проектирование REST API
5 месяцев
c опытом
Старт 9 октября