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

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

О книге

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

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

Эта книга является переводом на Русский книги Thinking Functionally in PHP, которая изначально была написана на Английский.

Об авторах

Larry Garfield
Larry Garfield

Larry Garfield is an aspiring blacksmith who moonlights as a Staff Engineer for the LegalZoom. 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.

Содержание

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

60-дневная гарантия 100% удовлетворения от Leanpub

В течение 60 дней после покупки вы можете получить 100% возврат средств за любую покупку на Leanpub всего в два клика.

Технически это рискованно для нас, поскольку файлы книги или курса останутся у вас в любом случае. Но мы настолько уверены в наших продуктах и услугах, а также в наших авторах и читателях, что с радостью предлагаем полную гарантию возврата денег за всё, что мы продаем.

Узнать, насколько что-то хорошо, можно только попробовав, а благодаря нашей 100% гарантии возврата денег это можно сделать без всякого риска!

Так что нет причин не нажать кнопку "Добавить в корзину", не так ли?

Ознакомьтесь с полными условиями...

Получайте $8 с покупки за $10 и $16 с покупки за $20

Мы выплачиваем 80% роялти за покупки от $7.99 и выше, и 80% роялти минус фиксированную комиссию 50 центов за покупки в диапазоне от $0.99 до $7.98. Вы зарабатываете $8 с продажи за $10 и $16 с продажи за $20. Таким образом, если мы продадим 5000 невозвращенных копий вашей книги по $20, вы заработаете $80,000.

(Да, некоторые авторы уже заработали намного больше этого на Leanpub.)

Фактически, авторы заработалиболее $14 миллионов, создавая, публикуя и продавая на Leanpub.

Узнайте больше о писательстве на Leanpub

Бесплатные обновления. Без DRM.

Если вы покупаете книгу на Leanpub, вы получаете бесплатные обновления, пока автор обновляет книгу! Многие авторы используют Leanpub для публикации своих книг в процессе написания. Все читатели получают бесплатные обновления, независимо от того, когда они купили книгу и сколько заплатили (включая бесплатные книги).

Большинство книг Leanpub доступны в форматах PDF (для компьютеров) и EPUB (для телефонов, планшетов и Kindle). Форматы, в которых доступна книга, показаны в правом верхнем углу этой страницы.

Наконец, книги Leanpub не имеют никакой бессмысленной DRM-защиты, поэтому вы можете легко читать их на любом поддерживаемом устройстве.

Узнайте больше о форматах электронных книг Leanpub и где их читать

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

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

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

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

Узнайте больше о публикации на Leanpub