Second edition out now. This page is an archive for first edition readers.

Functional Programming in PHP Book

Learn advanced and powerful functional programming techniques in your favourite language.

Functional Programming in PHP

What's in the book?

  1. Powerful functional programming methods
  2. The ever elusive monad in easy steps
  3. Tips for implementation in the real world
  4. Event driven programing
  5. Tooling and frameworks
  6. Applicatives, functors and function objects
  7. λ functions, composition and currying

Buy the book

(Print, Kindle, ePub, Mobi and PDF)

Why should everyone else have all the fun? PHP can easily be functional too!

It is fair to say that many programmers believe power programming techniques are not possible with PHP in part due to an infamous legion of detractors.

This book will not only dispel those myths, but also show you how to push PHP to it's limits by programming in a functional style.

Subscribe for updates

Follow @FunctionalPHP on Twitter.

Who's it for?

This book is for anyone that has an interest in functional programming or PHP as an advanced programming language.

If you are curious or have never even heard of functional programming before then this is the gentle introductory text you have been looking for. Equally it serves those seeking to exploit the advanced functional concepts such as monads in a PHP context.

You do not have to be running the latest bleeding edge build of PHP to enjoy the book and make use of all the techniques. It is a practical guide that can be implemented with PHP 5.3.2 whilst highlighting the syntactic sugar and functionality available in later releases.

Already read the book?

Firstly, thank you for buying the book and for taking the time to read it!

I would be really grateful it if you could spare a moment to email me any feedback you may have:


Functional PHP talk

I gave a brief and gentle introduction to functional programming at PHP Hampshire in the following video.

The slides and some of my notes are also available online for closer inspection and review.


The known errata can be found on the errata page. If you find an issue in the book please email

Subscribe for updates

Follow @FunctionalPHP on Twitter.

About me