Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «функциональность»
[Перевод] Привносим монады в PHP 2014-08-01 15:00:13
... с некоторыми функциональными языками и ... некоторые идеи функционального программирования могут быть ...
+ развернуть текст сохранённая копия
Совсем недавно я игрался с некоторыми функциональными языками и их концепцией, и заметил, что некоторые идеи функционального программирования могут быть применимы и к объектному коду, который я писал ранее. Одной из таких идей, о которых стоит поговорить — это Монады. Это что-то такое, о чем пытается написать туториал каждый кодер на функциональном языке, так как это крутая, но трудно понимаемая штука. Этот пост не будет туториалом по Монадам ( для этого есть вот этот замечательный перевод от AveNat) — скорее пост о том, как использовать их с пользой в PHP.
Что такое Монады?
Если пост выше не удалось дочитать до конца (а зря!), то Монаду можно представить неким контейнером состояния, где разные Монады делают разные вещи относительно этого состояния. Но лучше таки прочитать. Также будем считать, что мы уже немного поигрались с библиотекой MonadPHP из GitHub, так как в примерах использоваться будет именно она.
Читать дальше →
Тэги: biberunt, claudite, jam, monads, php, prata, rivos, sat, монады, программирование, функциональное
YaLinqo (LINQ to Objects для PHP) — версия 2.0 2014-07-14 12:01:23
+ развернуть текст сохранённая копия
Что-что?
LINQ — это штука, которая позволяет писать запросы, чем-то похожие на SQL, прямо в коде. LINQ to Objects, собственно, позволяет писать запросы к объектам, массивам и всему тому, чем вы оперируете в коде.
Это ещё зачем?
Если у вас есть база, то у вас есть любимый ORM (или любимый голый SQL — кому как по вкусу). Но иногда объекты приходят из веб-сервисов, из файлов, да и вообще тьма тьмущая объектов может требовать нетривиальной обработки: преобразование, фильтрация, сортировка, группировка, агрегация… Применить бы привычный ORM или SQL — но базы-то нет. Тут на помощь приходит LINQ to Objects, в данном случае YaLinqo.
Что умеет?
- Самый полный порт .NET LINQ на PHP, со многими дополнительными методами. Всего реализовано более 70 методов.
- Ленивые вычисления, текст исключений и многое другое, как в оригинальном LINQ.
- Детальная документация PHPDoc к каждому методу. Текст статей адаптирован из MSDN.
- 100% покрытие юнит-тестами.
- Коллбэки можно задавать замыканиями, «указателями на функцию» в виде строк и массивов, строковыми «лямбдами» с поддержкой нескольких синтаксисов.
- Ключам уделяется столько же внимания, сколько значениям: преобразования можно применять и к тем, и к другим; большинство коллбэков принимает на вход и то, и другое; ключи по возможности не теряются при преобразованиях.
- Минимальное изобретение велосипедов: для итерации используются Iterator, IteratorAggregate и др. (и их можно использовать наравне с Enumerable); исключения по возможности используются родные похапэшные и т.п.
- Поддерживается Composer, есть пакет на Packagist.
- Никаких внешних зависимостей.
Что случилось?
Прошёл год, как вышел PHP 5.5 со всякими вкусностями типа генераторов и исправленных итераторов. Так как на моей совести самый полноценный порт LINQ на PHP, то я решил, что настало время его обновить и воспользоваться новыми фичами языка.
Что нового?
Тэги: functional, linq, objects, php, php5, php5.5, programming, похапэ, программирование, функциональное
Особенности функционального тестирования 2014-07-02 18:32:43
... несколько групп – функциональные, нефункциональные и тестирование ... В основе функциональных+ развернуть текст сохранённая копия
Основные виды тестирования можно условно разделить на несколько групп – функциональные, нефункциональные и тестирование на этапе исправления ошибок. Рассмотрим особенности и методы применения каждого из видов тестирования. В основе функциональных
Тэги: безопасность, сём, софт, тестирвоание, тестирование, том, функциональное
Особенности функционального тестирования 2014-07-02 18:32:43
... несколько групп – функциональные, нефункциональные и тестирование ... В основе функциональных+ развернуть текст сохранённая копия
Основные виды тестирования можно условно разделить на несколько групп – функциональные, нефункциональные и тестирование на этапе исправления ошибок. Рассмотрим особенности и методы применения каждого из видов тестирования. В основе функциональных
Тэги: безопасность, сём, софт, тестирвоание, тестирование, том, функциональное
Архитектура: Мобильный домик для отдыха 2014-06-12 16:03:00
...
+ развернуть текст сохранённая копия
С каждым днем в условиях тотальной застройки и экономии свободного места идея использования контейнеров в качестве жилого пространства пользуется все большей популярностью. Новозеландские дизайнеры представили инновационную конструкцию мобильного домика для отдыха, сделанного из грузового вагончика.
Подробнее..
URL записи
Тэги: домик, контейнер, отдыха, функциональность
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
Главная / Главные темы / Тэг «функциональность»
|
Взлеты Топ 5
Падения Топ 5
|