On NetTuts.com today they've posted an introduction to functional programming in PHP. Functional programming is a programming style that "treats computation as the evaluation of mathematical functions and avoids state and mutable data. Functional programming emphasizes functions that produce results that depend only on their inputs and not on the program state."

The new hype in programming is all about functional programming paradigms. Functional languages are used more and more in greater and better applications. Scala, Haskel, etc. are thriving and other, more conservative languages like Java started to adopt some of the functional programming paradigms (see closures in Java7 and lazy eval for lists in Java8). However, what only few people know is that PHP is quite versatile when it comes to functional programming. All the main functional programming concepts can be expressed in PHP.

The tutorial introduces some of the basics of functional programming, including terminology and the flow of the average functional application. They list some of the limitations that PHP developers might be used to (like not assigning values to normal variables) and some example code to get you started. There's also unit tests (PHPUnit) included to help you understand what the code is doing as it progresses. They also provide a more practical example - a basic auth and admin system to verify access.This tutorial is definitely not for those just learning PHP, but it's a good look into another, very different, programming style.