-
Notifications
You must be signed in to change notification settings - Fork 0
/
bootstrap.php
38 lines (31 loc) · 1003 Bytes
/
bootstrap.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/**
* Created by PhpStorm.
* User: victor
* Date: 9/03/16
* Time: 1:19
*/
use Aoa\Core\Dotenv\EnvironmentVariables;
use Dotenv\Dotenv;
use RKA\ZsmSlimContainer\Container;
use Slim\App;
use Zend\Stdlib\ArrayUtils;
require __DIR__ . '/vendor/autoload.php';
session_start();
// Load environment variables file
$dotenv = new Dotenv(__DIR__);
$dotenv->load();
$dotenv->required(EnvironmentVariables::getRequired());
// Get settings
$databaseSettings = require_once __DIR__ . '/config/database.php';
$loggerSettings = require_once __DIR__ . '/config/logger.php';
$settings = require_once __DIR__ . '/config/settings.php';
$settings['settings'] = array_merge($settings['settings'], $databaseSettings, $loggerSettings);
// Get services
$services = require_once __DIR__ . '/config/services.php';
// Genenerate DI container with config
$config = array_merge($services, $settings);
$container = new Container($config);
// Instantiate the app
/** @var App $app */
$app = new Slim\App($container);