<?php
class Item
{
private $timeout = 0;
public function expiresAfter($timeout)
{
$this->timeout = $timeout;
}
public function getTimeout()
{
return $this->timeout;
}
}
class CacheHelper
{
static public function expiresAfter($time)
{
return function ($item) use ($time) {
$item->expiresAfter($time);
};
}
}
$item = new Item;
(CacheHelper::expiresAfter(30))($item);
echo $item->getTimeout();