From 9d8d91786b07429621b9159aa60874dd87271db3 Mon Sep 17 00:00:00 2001 From: Fred Blanc Date: Wed, 17 Mar 2021 16:01:10 +0100 Subject: [PATCH] DIP --- src/Contract/LoaderInterface.php | 10 ++++++++++ src/DataImporter.php | 6 +++--- src/Loader/CsvLoader.php | 6 ++++-- src/Loader/JsonLoader.php | 10 +++++++++- 4 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 src/Contract/LoaderInterface.php diff --git a/src/Contract/LoaderInterface.php b/src/Contract/LoaderInterface.php new file mode 100644 index 0000000..cc50628 --- /dev/null +++ b/src/Contract/LoaderInterface.php @@ -0,0 +1,10 @@ +importer = $importer; $this->loader = $loader; diff --git a/src/Loader/CsvLoader.php b/src/Loader/CsvLoader.php index 74dc08c..5125fb2 100644 --- a/src/Loader/CsvLoader.php +++ b/src/Loader/CsvLoader.php @@ -4,9 +4,11 @@ namespace solid\Loader; -class CsvLoader +use solid\Contract\LoaderInterface; + +class CsvLoader implements LoaderInterface { - protected string $filename; + private string $filename; public function __construct(string $filename) { diff --git a/src/Loader/JsonLoader.php b/src/Loader/JsonLoader.php index 26ff37f..f1b4e3b 100644 --- a/src/Loader/JsonLoader.php +++ b/src/Loader/JsonLoader.php @@ -5,9 +5,17 @@ namespace solid\Loader; use DateTimeImmutable; +use solid\Contract\LoaderInterface; -class JsonLoader extends CsvLoader +class JsonLoader implements LoaderInterface { + private string $filename; + + public function __construct(string $filename) + { + $this->filename = $filename; + } + private function readFile(): array { return json_decode(file_get_contents($this->filename), true);