Функциональное мышление в PHP
$15.00
Минимальная цена
$20.00
Рекомендуемая цена

Функциональное мышление в PHP

О книге

У функционального программирования сложилась репутация как чего-то такого заумного, академического и непостижимого, что едва оно может быть полезным для "обычных" программистов. Отчасти это так и есть, но концепциями функционального программирования вполне может понять каждый программист на любом современном языке. И PHP не исключение. В этой книге вы познакомитесь с основами функционального программирования, новыми возможностями PHP 7.4, которые упрощают его применение.

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

This book is a translation into Русский of Thinking Functionally in PHP which was originally written in English.

О авторах

Larry Garfield
Larry Garfield

Larry Garfield is an aspiring blacksmith who moonlights as a Staff Engineer for the TYPO3 project. He has been an active part of the PHP community for many years, in a variety of roles formal and informal.  When not trying to hand-forge his own medieval armory from scratch he tries to teach developers and development managers the skills of yesteryear that the industry has forgotten.

Alexey Pyltsyn
Alexey Pyltsyn

Web developer (mostly PHP and JavaScript). Maintainer of official Russian documentation on PHP. Translate articles on web development into Russian for devSchacht.

Table of Contents

  •  
    • Предисловие
    • Введение
      • Сравнение функционального и процедурного подходов
      • Объектно-ориентированный код
      • Функциональный стиль? Функциональный язык?
      • Что ожидать от книги
  • Первая часть
    • Чистые функции
      • Определяем “чистоту” функции
      • Композиция функций
      • Бинарные функции
    • Функции первого класса
      • Анонимные функции
      • Объекты-замыкания
      • Короткие лямбды
      • Привязка объекта
    • Мемоизация
    • Каррирование
    • Преобразование
    • Фильтрация
    • Свёртка
    • Конкатенация
    • Рекурсия
      • Рекурсия
    • Иммутабельные объекты-значения
      • Текущее поведение PHP
      • Привносим иммутабельность
      • Объекты по-функциональному
      • Эволюционирующие объекты
      • Зависимости
      • Объекты-сущности
      • Внутрифункциональная иммутабельность
  • Часть вторая
    • Теория категорий
      • Что такое категория?
      • Объекты
      • Несколько новых определений
      • Структура
      • Разбираемся с функторами
      • Изоморфизм
      • Моноиды
    • Категории на практике
      • Преобразование структуры
      • Функциональные объекты
    • Развлекаемся с функторами
      • Объединение функторов
      • Монады в программировании
      • Анатомия PHP-монады
    • Алгебраические типы данных
      • Произведения
      • Типы-произведения в PHP
      • Копроизведения
      • Копроизведения в PHP
  • Часть третья
    • Обработка null-значений
      • Определение проблемы
      • Пример
      • Решение при помощи теории категорий
      • Реализация решения
      • Альтернативная реализация
      • Замечание по поводу типов
    • Монада Either/Or, или обработка ошибок
      • Определение проблемы
      • Пример
      • Решение при помощи теории категорий
      • Реализация решения
      • И то, и другое?
    • Логирование
      • Определение проблемы
      • Пример
      • Решение при помощи теории категорий
      • Реализация решения
    • Объединение монадического поведения
      • Пример
      • Основной принцип
      • Связывание
      • Лексеры
      • Тестирование
      • Анализ
      • Преимущества ленивых вычислений
  • Четвёртая часть
    • Возможности функциональных языков
      • Автокаррирование
      • Оптимизация рекурсии
      • Изоморфическая оптимизаия
      • Композиция функций
      • Именование функций
      • Дженерики
      • Вызываемые типа
      • Списковые выражения
      • Встроенные опциональные типы данных
      • Опциональная цепочка
      • Нативный оператор связывания
      • Перечислимые типы
    • Время думать функционально
      • Избегайте глобального состояния
      • Создавайте чистые функции
      • Изолируйте операции ввода-вывода
      • Избегайте циклов
      • Смиритесь с объектами-значениями
      • Смиритесь с функциями как значениями
      • Создавайте вызываемые сервисы с одним методом
      • Думайте категориями конвейера и потока данных
      • Используйте монады Maybe и Either для обработки ошибок
      • Не перебарщивайте
    • Дополнительные материалы
      • Книги
      • Видео
      • Научные статьи

Безусловная 100% гарантия счастья без риска от Leanpub

В течение 45 дней с момента покупки вы можете получить 100% возврат средств на любую покупку в Leanpub всего в два клика. Мы обрабатываем заявки на возврат средств вручную, так что этот процесс может занять несколько дней. Смотрите полные условия.

Do Well. Do Good.

Authors have earned$10,791,672writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Узнать подробнее о написании на Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Пишите и публикуйте на Leanpub

Авторы и издатели используют Leanpub для публикации замечательных ещё незаконченных и уже завершенных книг, как эта. Вы можете использовать Leanpub для написания, публикации и продажи своей книги! Leanpub - мощная платформа для серьезных авторов, сочетающая простой, элегантный письменный и издательский процесс с магазином, ориентированным на продажу продвигаемых электронных книг. Leanpub - волшебная пишущая машинка для авторов: просто пишите в текстовом виде и опубликуйте свою книгу, просто нажимая кнопку. Это действительно проще простого.

Узнать подробнее о написании на Leanpub