Использование класса, как ключа массива
Изучал туториал по slimFramework и увидел там такой код:
return [
'settings' => function () {
return require __DIR__ . '/settings.php';
},
App::class => function (ContainerInterface $container) {
AppFactory::setContainer($container);
return AppFactory::create();
},
ResponseFactoryInterface::class => function(ContainerInterface $container) {
return $container->get(App::class)->getResponseFactory();
},
ErrorMiddleware::class => function (ContainerInterface $container) {
$app = $container->get(App::class);
$settings = $container->get('settings')['error'];
return new ErrorMiddleware(
$app->getCallableResolver(),
$app->getResponseFactory(),
(bool)$settings['display_error_details'],
(bool)$settings['log_errors'],
(bool)$settings['log_error_details']
);
},
];
И на данный момент я не могу понять что происходит при вызове App::class => function()...? В класс записывается значение которое приходит из анонимной функции? Где можно почитать об этом?