Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Добрый день! Возник вопрос при прочтении документации, который относиться, подозреваю, больше к основам php.
В документации приводиться данный пример:
$users = Cache::remember('count', function() {return DB::table('users')->count();}, 5);
Второй параметр, запрос при отсутствии кэша, обернут в дополнительную функцию. Логично, что симпатичнее реализовать это так:
$users = Cache::remember('count', DB::table('users')->count(), 5);
Но, если приведен именно такой пример, есть определенная причина. Правильно я понимаю эту причину?
В первом случае передается запрос, который вызовется лишь при отсутствии значения в кэша (передается ссылка на запрос). Во втором, он вызовется в любом случае, даже если кэш существует, но результат запроса будет использован лишь при отсутствии значения в кэша.
Прав ли я? Как называется такой прием, и где можно прочитать о нем более подробно?
Заранее спасибо!
Не в сети
Прав. Это называется замыканием (анонимной функцией), они появились в PHP 5.3.
Не в сети
Большое спасибо! Как оказалась использовал их ежедневно в jQuery, и даже не догадывался.
Не в сети