Description
Leverage the power of Functional Programming to write clean, composable, and elegant code with PHP.
Functional Programming offers a fundamental shift in the way you design your applications by focusing on the use and composition of pure functions to create programs that are robust, extensible, and easy to reason about. The traditional implementation of PHP codebase has been in the object-oriented paradigm. This course teaches you to think about coding problems in terms of the composition of pure functions.
The course starts by covering PHP7’s internal closure object, enabling you to write very powerful functions. This course will help you think about problem solutions from the perspective of combining pure code-like pieces of a puzzle. Then, it provides helpful techniques and insights such as lazy function evaluation and currying that facilitate composing functions together. Finally, the course finalizes with taking an imperative program, and using pure function composition and learning about a functional library called PRamda.
About the Author
Luis Atencio (@luijar) is a Staff Software Engineer for Citrix Systems in Ft. Lauderdale, FL. He has a BSc and an MSc in Computer Science and now works full time developing and architecting web applications using PHP, JavaScript, and Java platforms. Luis is also very involved in the community and has presented on several occasions at conferences and local meet-ups.
When he is not coding, Luis writes magazine articles for PHPArch and DZone. Luis is also the author of Functional Programming in JavaScript, Manning 2016, RxJS in Action, Manning 2017, and Functional PHP (Leanpub).
Basic knowledge
No previous experience with functional programming is needed
What will you learn
Find out about PHP7’s internal closure object to write very powerful higher-order functions
Explore the benefits of writing functionally versus other paradigms
Get to know about the fundamental principles of functional programming applied to PHP
See function evaluation strategies in-depth and simulate a lazy invocation
Tackle real-world scenarios that involve impure operations such as data validation and error handling
Learn about specific techniques such as currying and partial function application
Get exposure to a completely functional PHP library called PRamda