public static function memoize($function)
{
$reflectionFunction = new ReflectionFunction($function);
$key = "{$reflectionFunction->getFileName()}:{$reflectionFunction->getEndLine()}";
return self::get($key, $function);
}
/** * @test */ public function shouldUseDifferentKeysForDifferentClosures() { //when $result1 = Cache::memoize(function () { return 1; }); $result2 = Cache::memoize(function () { return 2; }); //then $this->assertEquals(2, Cache::size()); $this->assertEquals(1, $result1); $this->assertEquals(2, $result2); }