From 77709c068a048e21c7a567fe5f2426a7941a6b4c Mon Sep 17 00:00:00 2001 From: Timothy J Warren Date: Tue, 8 Dec 2015 16:39:49 -0500 Subject: [PATCH] Some code style fixes --- app/bootstrap.php | 11 ++++++++++- src/Aviat/AnimeClient/Auth/HummingbirdAuth.php | 2 +- src/Aviat/AnimeClient/Controller/Anime.php | 2 +- src/Aviat/AnimeClient/Controller/Collection.php | 4 ++-- src/Aviat/AnimeClient/Controller/Manga.php | 2 +- src/Aviat/AnimeClient/Model/API.php | 10 ++++++++++ src/Aviat/AnimeClient/Model/AnimeCollection.php | 2 +- src/Aviat/Ion/Di/Container.php | 9 ++++----- tests/AnimeClient_TestCase.php | 13 ++++++++++++- 9 files changed, 42 insertions(+), 13 deletions(-) diff --git a/app/bootstrap.php b/app/bootstrap.php index 6e5c5e4f..8b9d1571 100644 --- a/app/bootstrap.php +++ b/app/bootstrap.php @@ -15,6 +15,7 @@ use Monolog\Handler\BrowserConsoleHandler; use Aviat\Ion\Di\Container; use Aviat\AnimeClient\Auth\HummingbirdAuth; +use Aviat\AnimeClient\Model; // ----------------------------------------------------------------------------- // Setup DI container @@ -68,13 +69,21 @@ return function(array $config_array = []) { $container->set('session', $session); $container->set('url-generator', new UrlGenerator($container)); - $container->set('auth', new HummingbirdAuth($container)); + // Miscellaneous helper methods $anime_client = new AnimeClient(); $anime_client->setContainer($container); $container->set('anime_client', $anime_client); + // Models + $container->set('api-model', new Model\API($container)); + $container->set('anime-model', new Model\Anime($container)); + $container->set('manga-model', new Model\Manga($container)); + $container->set('anime-collection-model', new Model\AnimeCollection($container)); + + $container->set('auth', new HummingbirdAuth($container)); + // ------------------------------------------------------------------------- // Dispatcher // ------------------------------------------------------------------------- diff --git a/src/Aviat/AnimeClient/Auth/HummingbirdAuth.php b/src/Aviat/AnimeClient/Auth/HummingbirdAuth.php index cac70de8..7a07e0d1 100644 --- a/src/Aviat/AnimeClient/Auth/HummingbirdAuth.php +++ b/src/Aviat/AnimeClient/Auth/HummingbirdAuth.php @@ -47,7 +47,7 @@ class HummingbirdAuth { $this->setContainer($container); $this->segment = $container->get('session') ->getSegment(__NAMESPACE__); - $this->model = new API($container); + $this->model = $container->get('api-model'); } /** diff --git a/src/Aviat/AnimeClient/Controller/Anime.php b/src/Aviat/AnimeClient/Controller/Anime.php index 8260cb1d..0dfb3471 100644 --- a/src/Aviat/AnimeClient/Controller/Anime.php +++ b/src/Aviat/AnimeClient/Controller/Anime.php @@ -44,7 +44,7 @@ class Anime extends BaseController { { parent::__construct($container); - $this->model = new AnimeModel($container); + $this->model = $container->get('anime-model'); $this->base_data = array_merge($this->base_data, [ 'menu_name' => 'anime_list', 'message' => '', diff --git a/src/Aviat/AnimeClient/Controller/Collection.php b/src/Aviat/AnimeClient/Controller/Collection.php index 8e7cb3f9..1ed3e51e 100644 --- a/src/Aviat/AnimeClient/Controller/Collection.php +++ b/src/Aviat/AnimeClient/Controller/Collection.php @@ -53,8 +53,8 @@ class Collection extends BaseController { parent::__construct($container); $this->urlGenerator = $container->get('url-generator'); - $this->anime_model = new AnimeModel($container); - $this->anime_collection_model = new AnimeCollectionModel($container); + $this->anime_model = $container->get('anime-model'); + $this->anime_collection_model = $container->get('anime-collection-model'); $this->base_data = array_merge($this->base_data, [ 'menu_name' => 'collection', 'message' => '', diff --git a/src/Aviat/AnimeClient/Controller/Manga.php b/src/Aviat/AnimeClient/Controller/Manga.php index 11cd1a80..244b9f95 100644 --- a/src/Aviat/AnimeClient/Controller/Manga.php +++ b/src/Aviat/AnimeClient/Controller/Manga.php @@ -43,7 +43,7 @@ class Manga extends Controller { { parent::__construct($container); - $this->model = new MangaModel($container); + $this->model = $container->get('manga-model'); $this->base_data = array_merge($this->base_data, [ 'menu_name' => 'manga_list', 'config' => $this->config, diff --git a/src/Aviat/AnimeClient/Model/API.php b/src/Aviat/AnimeClient/Model/API.php index c957e635..31413118 100644 --- a/src/Aviat/AnimeClient/Model/API.php +++ b/src/Aviat/AnimeClient/Model/API.php @@ -60,6 +60,16 @@ class API extends BaseModel { public function __construct(ContainerInterface $container) { parent::__construct($container); + $this->init(); + } + + /** + * Set up the class properties + * + * @return void + */ + protected function init() + { $this->cookieJar = new CookieJar(); $this->client = new Client([ 'base_uri' => $this->base_url, diff --git a/src/Aviat/AnimeClient/Model/AnimeCollection.php b/src/Aviat/AnimeClient/Model/AnimeCollection.php index f66e2ead..38d5f5d8 100644 --- a/src/Aviat/AnimeClient/Model/AnimeCollection.php +++ b/src/Aviat/AnimeClient/Model/AnimeCollection.php @@ -51,7 +51,7 @@ class AnimeCollection extends DB { $this->valid_database = FALSE; return FALSE; } - $this->anime_model = new AnimeModel($container); + $this->anime_model = $container->get('anime-model'); // Is database valid? If not, set a flag so the // app can be run without a valid database diff --git a/src/Aviat/Ion/Di/Container.php b/src/Aviat/Ion/Di/Container.php index 13a0d15a..68a4c1e8 100644 --- a/src/Aviat/Ion/Di/Container.php +++ b/src/Aviat/Ion/Di/Container.php @@ -12,7 +12,6 @@ namespace Aviat\Ion\Di; -use ArrayObject; use Psr\Log\LoggerInterface; /** @@ -41,8 +40,8 @@ class Container implements ContainerInterface { */ public function __construct(array $values = []) { - $this->container = new ArrayObject($values); - $this->loggers = new ArrayObject([]); + $this->container = $values; + $this->loggers = []; } /** @@ -93,7 +92,7 @@ class Container implements ContainerInterface { */ public function has($id) { - return $this->container->offsetExists($id); + return array_key_exists($id, $this->container); } /** @@ -103,7 +102,7 @@ class Container implements ContainerInterface { */ public function hasLogger($key = 'default') { - return $this->loggers->offsetExists($key); + return array_key_exists($key, $this->loggers); } /** diff --git a/tests/AnimeClient_TestCase.php b/tests/AnimeClient_TestCase.php index 10ab4c70..60cecf78 100644 --- a/tests/AnimeClient_TestCase.php +++ b/tests/AnimeClient_TestCase.php @@ -36,7 +36,18 @@ class AnimeClient_TestCase extends PHPUnit_Framework_TestCase { 'asset_path' => '//localhost/assets/', 'img_cache_path' => _dir(ROOT_DIR, 'public/images'), 'data_cache_path' => _dir(TEST_DATA_DIR, 'cache'), - 'database' => [], + 'database' => [ + 'collection' => [ + 'type' => 'sqlite', + 'host' => '', + 'user' => '', + 'pass' => '', + 'port' => '', + 'name' => 'default', + 'database' => '', + 'file' => ':memory:', + ] + ], 'routing' => [ 'asset_path' => '/assets' ],