Learn functional programming with PHP. Discover how to take up this popular programming paradigm to write more readable, maintainable code.
Overview
Syllabus
Introduction
- A functional approach to transform code
- What you should know
- Installing and running PHP
- Why use functional programming?
- What is declarative programming?
- Immutability in functional programming
- Separation of data and functions
- First-class functions
- Functions as data, part 1
- Functions as data, part 2
- Passing functions as arguments
- Returning functions
- Closure
- Higher-order functions
- Arrow functions in PHP
- Working with arrays, functionally
- The spread operator and array_merge
- Mapping
- Filtering
- Passing keys to array functions
- Sorting
- Custom sorting behavior with usort
- Reducing
- Combining array functions
- Challenge: Recreating the array_map function
- Solution: Recreating the array_map function
- Advanced functional concepts
- Partial application and currying
- Recursion
- Composition, part 1
- Composition, part 2
- Challenge: Property getter
- Solution: Property getter
- Challenge: Tallying votes
- Solution: Tallying votes
- Challenge: Value or array
- Solution: Value or array
- Next steps
Taught by
Shaun Wassell