File: /var/www/vhosts/creativefellows.nl/test.creativefellows.nl/scrambled-ads/config/container.php
<?php
//use App\Routing\JwtAuth;
use App\Factory\LoggerFactory;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Container\ContainerInterface;
use Slim\App;
use Slim\Middleware\ErrorMiddleware;
use Slim\Views\PhpRenderer;
use Slim\Interfaces\RouteParserInterface;
use Slim\Factory\AppFactory;
//use Slim\Interfaces\RouteParserInterface;
//use Slim\Interfaces\RouteResolverInterface;
return [
'settings' => function () {
return require __DIR__ . '/settings.php';
},
App::class => function (ContainerInterface $container) {
AppFactory::setContainer($container);
return AppFactory::create();
},
PhpRenderer::class => function (ContainerInterface $container) {
return new PhpRenderer($container->get('settings')['template_path']);
},
RouteParserInterface::class => function (ContainerInterface $container) {
$app = $container->get(App::class);
return $app->getRouteCollector()->getRouteParser();
},
PDO::class => function (ContainerInterface $container) {
$settings = $container->get('settings')['db'];
$host = $settings['host'];
$dbname = $settings['database'];
$username = $settings['username'];
$password = $settings['password'];
$charset = $settings['charset'];
$flags = $settings['flags'];
$dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";
return new PDO($dsn, $username, $password, $flags);
},
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']
);
},
];