More Information
  • Declare functions/callables and find out how to manipulate and call them
  • Write pure functions to get more robust code that can be easily tested
  • Learn to compose function using various techniques
  • Use a functional approach to find readable solutions to common issues
  • Utilize performance optimization techniques such as laziness, memorization, and parallelization
  • Build the business logic of applications with the functional paradigm
  • Test functional code and know how to speed up test runs using parallel testing
  • Understand the impact and limitation of functional programming in PHP

A functional approach encourages code reuse, greatly simplifies testing, and results in code that is concise and easy to understand. This book will demonstrate how PHP can also be used as a functional language, letting you learn about various function techniques to write maintainable and readable code.

After a quick introduction to functional programming, we will dive right in with code examples so you can get the most of what you’ve just learned. We will go further with monads, memoization, and property-based testing. You will learn how to make use of modularity of function while writing functional PHP code.

Through the tips and best practices in this book, you’ll be able to do more with less code and reduce bugs in your applications. Not only will you be able to boost your performance, but you will also find out how to eliminate common loop problems. By the end of the book, you will know a wide variety of new techniques that you can use on any new or legacy codebase.

  • Greatly improve your code quality, testability, and readability using modern functional programming techniques
  • Get a solid foundation in functional programming techniques and methodologies
  • Step-by-step learn the concepts to architect more robust code
Page Count 342
Course Length 10 hours 15 minutes
ISBN 9781785880322
Date Of Publication 14 Feb 2017


Gilles Crettenand

Gilles Crettenand is a passionate and enthusiastic software developer. He thrives when solving challenges and is always on the lookout for a better way to implement his solutions. He has a bachelor's degree in computer science from the School of Engineering and Management Vaud in Switzerland and has more than 6 years of experience as a web developer.

Most of his professional career has been spent using PHP, developing a variety of applications ranging from accountability software to e-commerce solutions and CMS. At nights, however, he likes to try other languages, dabbling with Haskell, Scala, and more recently, PureScript, Elm, and Clojure.

Being a certified scrum master, he understands the need to use the right tool for the job and maintaining a readable and maintainable codebase using the best techniques and practices available.