PHP snippets

Примеры PHP кода

Замыкания (closures)

Доступно в PHP >= 5.3

<?php

/*
 * Простой пример использования лямбда-функций
 */

$lambda = function()
{
    echo 'Hello World!';
};
$lambda();

/*
 * Использование внешних переменных в лямбда-функциях
 */

$hello = "Hello";
$helloWorld = function () use ($hello)
{
    echo $hello . ", world!";
}

/*
 * Использование внешних переменных в лямбда-функциях по ссылке
 */

$x = 1;
$increment = function () use (& $x)
{
    $x++;
}
$increment();
var_dump($x);


/*
 * Обращение к экземпляру класса как к функции
 */

class MyClass
{
    public function __invoke()
    {
        echo "Hello World!";
    }
}
$class = new MyClass;
$class();