Laravel 4 - Klasa kontenera: funkcja udostępniania i logika zamknięcia

Mam pytanie uzupełniające do tego omówionego tutaj:Zamieszanie metody podstawowej Laravel

Znajduję się w takiej samej sytuacji, jak wcześniej driechel (autor pytania powyżej), obecnie przyzwyczajony do Laravel 4 FW i badający rdzeń. Chociaż udzielono dokładnej odpowiedzi, nadal nie rozumiem logiki i tego, co się dzieje pod maską. Byłbym bardzo wdzięczny za dalsze wyjaśnienia. Wiem, że to może być duplikat, ale ponieważ nie mogę jeszcze pisać komentarzy, dam mu nowe pytanie. Mam nadzieję, że tak będzie dobrze.

Patrzyłem na to z innej strony, począwszy od tego artykułu:http://blog.joynag.net/2013/05/facades-in-laravel-4-and-static-methods-resolution/

Podczas sprawdzania połączeniaFile:get() W końcu trafiam naFunkcja podziału klasy kontenerów który jest wywoływany z tym rzeczywistym parametremshare(function() { return new Filesystem; }.

To, czego po prostu nie mogę zrozumieć, to użycie$container. Zwłaszcza w drugim przypadku zamknięcia:

$object = $closure($container);

Czy możesz wyjaśnić to jeszcze raz? Dlaczego jest$container przekazany tutaj jako parametr i co jest w nim zawarte? O ile rozumiem$closure w tym momencie trzyma i wykonujefunction() { return new Filesystem; } który nie ma parametru wejściowego.

Zgubiłem się. Studiowałem to i anonimowe funkcje / zamknięcia PHP teraz przez dwa dni prosto i wciąż nie możemy tego zrozumieć. Nie rozumiem składni$closure($container) tutaj ani logiki.

questionAnswers(1)

yourAnswerToTheQuestion