Laravel 4 - Контейнерный класс: функция разделения и логика закрытия
У меня есть дополнительный вопрос к обсуждаемому здесь:Путаница метода ядра Laravel
Я нахожусь в той же ситуации, что и Дричел (автор вопроса выше), в настоящее время привыкаю к Laravel 4 FW и изучаю ядро. Хотя был дан точный ответ, я все еще не понимаю логику и то, что происходит под капотом. Поэтому я был бы очень признателен за дальнейшее объяснение. Я знаю, что это может быть дубликат, но, поскольку я пока не могу оставлять комментарии, я сделаю снимок с новым вопросом. Надеюсь, что все в порядке.
Я смотрю на это с другой стороны, начиная с этой статьи:http://blog.joynag.net/2013/05/facades-in-laravel-4-and-static-methods-resolution/
При осмотре звонкаFile:get()
Я, наконец, в конечном итоге наФункция обмена класса контейнера который вызывается с этим фактическим параметромshare(function() { return new Filesystem; }
.
То, что я просто не могу понять, это использование$container
, Особенно во втором случае в закрытии:
$object = $closure($container);
Не могли бы вы уточнить это еще раз? Почему$container
передается в качестве параметра здесь и что на самом деле содержится в нем? Насколько я понимаю$closure
в этот момент держит и выполняетfunction() { return new Filesystem; }
который не имеет входного параметра.
Я потерян. Изучил это и анонимные функции / замыкания PHP в течение двух дней подряд и до сих пор не могу понять. Я также не понимаю синтаксис$closure($container)
тут ни логика.