PHP Functional Programming Objects as a function


class SomeClass {
    public function __invoke($param1, $param2) {
        // put your code here

$instance = new SomeClass();
$instance('First', 'Second'); // call the __invoke() method

An object with an __invoke method can be used exactly as any other function.

The __invoke method will have access to all properties of the object and will be able to call any methods.