Key Features
- Greatly improve your code quality, testability, and readability using modern functional programming techniques
- Get a solid foundation in functional programming techniques and methodologies
- Understand advanced functional techniques and apply them to get efficient programming
Book Description
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. In this book, you will learn 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 then 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 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.
What you will learn
- 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
About the Author
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 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 solution and CMS. At nights, however, he likes to try other languages as he dabbles with Haskell, Scala, and more recently PureScript, Elm, and Clojure.
Also 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.