2017-10-31 13:40:13 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Engelsystem\Database;
|
|
|
|
|
|
|
|
use Engelsystem\Container\ServiceProvider;
|
|
|
|
use Exception;
|
|
|
|
use PDO;
|
|
|
|
|
|
|
|
class DatabaseServiceProvider extends ServiceProvider
|
|
|
|
{
|
|
|
|
public function register()
|
|
|
|
{
|
|
|
|
$config = $this->app->get('config');
|
|
|
|
Db::connect(
|
2017-12-25 23:12:52 +01:00
|
|
|
'mysql:host=' . $config->get('database')['host']
|
|
|
|
. ';dbname=' . $config->get('database')['db']
|
|
|
|
. ';charset=utf8',
|
2017-10-31 13:40:13 +01:00
|
|
|
$config->get('database')['user'],
|
|
|
|
$config->get('database')['pw']
|
|
|
|
) || $this->exitOnError();
|
|
|
|
|
|
|
|
Db::getPdo()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
|
Db::getPdo()->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @throws Exception
|
|
|
|
*/
|
|
|
|
protected function exitOnError()
|
|
|
|
{
|
|
|
|
throw new Exception('Error: Unable to connect to database');
|
|
|
|
}
|
|
|
|
}
|