Log In
0% completed
All Lessons
Free Lessons (4)
Getting Started
About This Course
An Introduction to Functional Programming in PHP
A Brief History of PHP and Functional Programming
Defining Functional Programming
The Benefits of Functional Programming
Relevance to a PHP Developer
Functional Programming in Other Contexts
PHP is Getting Better
Summary: Introduction to Functional Programming in PHP
Quiz: Introduction to Functional Programming in PHP
Challenge 1: Product of Numbers
Challenge 2: Square of Sum of Numbers
Core Concepts: Functional Programming in PHP
PHP Functions
Functional Programming and Object-Oriented Programming
Pure Functions
Immutability
Immutable lists
Tries
Value Objects
Temporal Coupling
Transient Mutation
Referential Transparency
REPL Environments For Functional Programming
Summary: Functional Programming Core Concepts
Quiz: Functional Programming Core Concepts
Challenge 1: Remove Temporal Coupling
Challenge 2: Referentially-Transparent Function
Composition and Helper Functions
Function Composition in PHP
Currying and Partial Application
The Map, Filter, and Fold Functions
Transducers
Helper Functions
Summary: Composition and Helper Functions
Quiz: Composition and Helper Functions
Challenge 1: Replica of PHP's "max" Function
Challenge 2: Language Processing with Transducer
Error Handling in Functional Programming
Exceptions in PHP
Non-exception Error Handling Techniques
The Maybe and Either Monads
The Railway Pattern
Summary: Error Handling in Functional Programming
Quiz: Error Handling in Functional Programming
Challenge 1: Eliminate Exceptions Using the Either Monad
Challenge 2: Error Messages Using Maybe Monad
Functors in PHP
The Category Theory
Functors in PHP Programming
Monads
Practical Monads
Other Practical Monads
Summary: Functors in PHP
Quiz: Functors in PHP
Challenge 1: REPL with IO Monad
Challenge 2: Writer Monad
Parallelization of Tasks in PHP
Threading in PHP
Multithreading Extensions in PHP
Multiprocessing in PHP
Message Brokers
Summary: Parallelization of Tasks in PHP
Quiz: Parallelization of Tasks in PHP
Challenge 1: Sentence Formatting Using PCNTL
Challenge 2: Sentence Formatting Using RabbitMQ
Recursion, Pattern Matching, and Property Testing
Recursion in PHP
Pattern Matching in PHP
Property Testing with Eris
Summary: Recursion, Pattern Matching, and Property Testing
Quiz: Recursion, Pattern Matching, and Property Testing
Challenge 1: Recursive Count Function
Challenge 2: Property Testing with Eris
Phonebook Application — A Simple Project
Phonebook Overview
Building the Phonebook App
Implementation of Registry Functionalities
The Phonebook App
Summary: Phonebook Application
Conclusion
Wrap it up!
Appendix
Required Installations
Additional Material
Terminology
Learn Functional Programming in PHP
/
...
/
Summary: Phonebook Application
Summary: Phonebook Application
Review what we’ve learned in this chapter.
We'll cover the following...
Key takeaways
PHP is a
...