Я хотел бы переместить всю логику в контроллеры следующим образом: файл index.php:
$app = new Slim\App();
$app->group('/api/v1', function (\Slim\App $app) {
$app->group('/users', UsersController::class );
});
Файл UsersController.php:
class UsersController
{
public function __construct(\Slim\App $app)
{
$app->getContainer()->get('db');
$app->map(['GET'], '/', [$this, 'readAll']);
$app->map(['POST'], '/', [$this, 'create']); //Create a new
$app->map(['PUT'], '/', [$this, 'updateAll']);
$app->map(['DELETE'], '/', [$this, 'deleteAll']);
$app->map(['GET'], '/{id}', [$this, 'read']);
//$app->map(['POST'], '/{id}', [$this, 'createNot']); //Method not allowed (405)
$app->map(['PUT'], '/{id}', [$this, 'update']);
$app->map(['DELETE'], '/{id}', [$this, 'delete']);
}
...
}
Но всегда я получаю сообщение об ошибке:
Аргумент 1, передаваемый UsersController :: __ construct (), должен быть экземпляром Slim \ App, экземпляром Slim \ Container с указанием
Что делать, чтобы работать?