Lets sagen, ich habe einen Verschluss:Passing Variable Schließung
$object->group(function() {
$object->add('example');
$object->add('example');
});
Es wird nicht funktionieren, weil $ Objekt nicht in der Schließung definiert ist.
Notice: Undefined variable: Manager
Also ich use ($object)
haben würde:
$object->group(function() use ($object) {
$object->add('example');
$object->add('example');
});
Jetzt will ich es halten so einfach wie das erste so irgendwie $ Objekt injiziert werden in die Schließung.
Der Laravel Rahmen tut dies mit Routen zum Beispiel:
Route::group(['middleware' => 'auth'], function() {
Route::get('/', function() {
// Uses Auth Middleware
});
Route::get('user/profile', function() {
// Uses Auth Middleware
});
});
Ich glaube Laravel tut dies mit der Reflection Klasse.
Wie konnte ich das erreichen?
Ich sehe absolut nichts falsch mit 'function() use ($ object)'. Es gibt nichts saubereres mit dem anderen Ansatz. Absolut zilch. –
Ich will nur wissen, wie Laravel das macht. –
Laravel verwendet 'statisch'. Du benutzt Objekte. –