From 049814387a7626eaeb99c9bfad296bf6519f7a39 Mon Sep 17 00:00:00 2001 From: Matthew Baggett Date: Tue, 16 Jun 2020 12:47:20 +0200 Subject: [PATCH] Changing how database connections are held. Adding phinx stuff. --- src/App.php | 19 ++++++++++++++++++- src/Controllers/CrudController.php | 2 +- src/Services/ConfigurationService.php | 13 +++---------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/App.php b/src/App.php index 51881ff..376d61c 100644 --- a/src/App.php +++ b/src/App.php @@ -2,6 +2,7 @@ namespace Benzine; +use Benzine\ORM\Connection\Databases; use Benzine\ORM\Laminator; use Benzine\Services\ConfigurationService; use Benzine\Services\EnvironmentService; @@ -68,6 +69,15 @@ class App $errorMiddleware = $this->app->addErrorMiddleware(true, true, true); } + /** + * Get item from Dependency Injection + * + * @return mixed + */ + public function get(string $id){ + return $this->getApp()->getContainer()->get($id); + } + protected function setup(ContainerInterface $container): void { $this->logger = $container->get(Logger::class); @@ -227,10 +237,17 @@ class App ); }); + $container->set(Databases::class, function(ContainerInterface $container){ + return new Databases( + $container->get(ConfigurationService::class) + ); + + }); $container->set(Laminator::class, function(ContainerInterface $container){ return new Laminator( APP_ROOT, - $container->get(ConfigurationService::class) + $container->get(ConfigurationService::class), + $container->get(Databases::class) ); }); diff --git a/src/Controllers/CrudController.php b/src/Controllers/CrudController.php index 6faad0b..06da295 100644 --- a/src/Controllers/CrudController.php +++ b/src/Controllers/CrudController.php @@ -5,7 +5,7 @@ namespace Benzine\Controllers; use Laminas\Db\Adapter\Exception\InvalidQueryException; use Slim\Http\Request; use Slim\Http\Response; -use ⌬\Database\Interfaces\ModelInterface; +use Benzine\ORM\Interfaces\ModelInterface; abstract class CrudController extends Controller { diff --git a/src/Services/ConfigurationService.php b/src/Services/ConfigurationService.php index c9bee8d..5facde1 100644 --- a/src/Services/ConfigurationService.php +++ b/src/Services/ConfigurationService.php @@ -4,6 +4,7 @@ namespace Benzine\Services; use Benzine\App; use Benzine\ORM\Connection\Database; +use Benzine\ORM\Connection\Databases; use Symfony\Component\Yaml\Yaml; class ConfigurationService @@ -95,17 +96,9 @@ class ConfigurationService return trim($scope); } - /** - * @return Database[] - */ - public function getDatabases() : array + public function getDatabases() : Databases { - $databases = []; - foreach($this->config['databases'] as $name => $config){ - $database = new Database($name, $config); - $databases[$database->getName()] = $database; - } - return $databases; + return $this->databases; } public function getNamespace(): string