diff options
Diffstat (limited to 'app/common.php')
-rw-r--r-- | app/common.php | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/app/common.php b/app/common.php index 1ace3d81..f4485267 100644 --- a/app/common.php +++ b/app/common.php @@ -1,17 +1,18 @@ <?php -// Common file between cli and web interface +require 'vendor/autoload.php'; -require __DIR__.'/Core/Loader.php'; -require __DIR__.'/helpers.php'; -require __DIR__.'/functions.php'; +// Automatically parse environment configuration (Heroku) +if (getenv('DATABASE_URL')) { -use Core\Loader; -use Core\Registry; + $dbopts = parse_url(getenv('DATABASE_URL')); -// Include password_compat for PHP < 5.5 -if (version_compare(PHP_VERSION, '5.5.0', '<')) { - require __DIR__.'/../vendor/password.php'; + define('DB_DRIVER', $dbopts['scheme']); + define('DB_USERNAME', $dbopts["user"]); + define('DB_PASSWORD', $dbopts["pass"]); + define('DB_HOSTNAME', $dbopts["host"]); + define('DB_PORT', isset($dbopts["port"]) ? $dbopts["port"] : null); + define('DB_NAME', ltrim($dbopts["path"],'/')); } // Include custom config file @@ -21,12 +22,8 @@ if (file_exists('config.php')) { require __DIR__.'/constants.php'; -$loader = new Loader; -$loader->setPath('app'); -$loader->setPath('vendor'); -$loader->execute(); - -$registry = new Registry; -$registry->db = setup_db(); -$registry->event = setup_events(); -$registry->mailer = function() { return setup_mailer(); }; +$container = new Pimple\Container; +$container->register(new ServiceProvider\LoggingProvider); +$container->register(new ServiceProvider\DatabaseProvider); +$container->register(new ServiceProvider\ClassProvider); +$container->register(new ServiceProvider\EventDispatcherProvider); |