From f30304cbe90b4ed5c46c2f5442537126d3862e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20P=C5=82aczek?= Date: Wed, 14 May 2025 13:14:57 +0200 Subject: [PATCH 1/3] Autowire database connection. --- bin/composer | 2 +- src/Command/ScrapeWebsite.php | 12 +++++------- src/Controller/BaseController.php | 6 +----- src/DatabaseFactory.php | 17 +++++++++++++++++ src/Kernel.php | 4 +++- 5 files changed, 27 insertions(+), 14 deletions(-) create mode 100644 src/DatabaseFactory.php diff --git a/bin/composer b/bin/composer index a65407d..f7ab9e6 100755 --- a/bin/composer +++ b/bin/composer @@ -1,3 +1,3 @@ #!/usr/bin/env bash -[ -z "$1" ] && echo "Please specify a Composer command (ex. install)" && exit +[ -z "$1" ] && bin/cli composer list && exit bin/cli composer "$@" \ No newline at end of file diff --git a/src/Command/ScrapeWebsite.php b/src/Command/ScrapeWebsite.php index f6be3fe..722856a 100644 --- a/src/Command/ScrapeWebsite.php +++ b/src/Command/ScrapeWebsite.php @@ -21,15 +21,13 @@ class ScrapeWebsite extends Command { private Client $client; + public function __construct(protected Capsule $database) + { + parent::__construct(); + } + protected function configure(): void { - $capsule = new Capsule; - $capsule->addConnection([ - 'driver' => 'sqlite', - 'database' => __DIR__ . '/../../database.sqlite', - ]); - $capsule->setAsGlobal(); - $capsule->bootEloquent(); $this->client = new Client(); } diff --git a/src/Controller/BaseController.php b/src/Controller/BaseController.php index fb6f2ff..dfccd17 100644 --- a/src/Controller/BaseController.php +++ b/src/Controller/BaseController.php @@ -11,11 +11,7 @@ class BaseController extends AbstractController { protected Environment $twig; - public function __construct(protected FilesystemAdapter $cache) + public function __construct(protected FilesystemAdapter $cache, protected Capsule $database) { - $capsule = new Capsule; - $capsule->addConnection(['driver' => 'sqlite', 'database' => __DIR__ . '/../../database.sqlite']); - $capsule->setAsGlobal(); - $capsule->bootEloquent(); } } diff --git a/src/DatabaseFactory.php b/src/DatabaseFactory.php new file mode 100644 index 0000000..6c76708 --- /dev/null +++ b/src/DatabaseFactory.php @@ -0,0 +1,17 @@ +addConnection(['driver' => 'sqlite', 'database' => __DIR__ . '/../database.sqlite']); + $capsule->setAsGlobal(); + $capsule->bootEloquent(); + + return $capsule; + } +} \ No newline at end of file diff --git a/src/Kernel.php b/src/Kernel.php index add1329..a059cf5 100644 --- a/src/Kernel.php +++ b/src/Kernel.php @@ -2,6 +2,7 @@ namespace Krzysiej\RyobiCrawler; +use Illuminate\Database\Capsule\Manager; use Krzysiej\RyobiCrawler\Twig\AppExtension; use Symfony\Bundle\FrameworkBundle\FrameworkBundle; use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait; @@ -34,8 +35,9 @@ class Kernel extends BaseKernel 'secret' => 'S0ME_SECRET' ]); $services = $container->services()->defaults()->autowire()->autoconfigure(); + $services->set(Manager::class)->factory([DatabaseFactory::class, 'create']); $services->load('Krzysiej\\RyobiCrawler\\', __DIR__ ) - ->exclude('../src/{Models,Twig,Kernel.php}'); + ->exclude('../src/{Models,Twig,DatabaseFactory.php,Kernel.php}'); $services->set('twig.extension.cache', AppExtension::class)->tag('twig.extension'); $services->set(CacheExtension::class)->tag('twig.extension'); $services->set(FilesystemAdapter::class)->args([ -- 2.52.0 From 76d8b7d9cf585a5b42f1b616e099a98d8e75e669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20P=C5=82aczek?= Date: Wed, 14 May 2025 15:15:49 +0200 Subject: [PATCH 2/3] Autowire database connection. --- src/DatabaseFactory.php | 5 +---- src/Kernel.php | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/DatabaseFactory.php b/src/DatabaseFactory.php index 6c76708..0702d80 100644 --- a/src/DatabaseFactory.php +++ b/src/DatabaseFactory.php @@ -5,13 +5,10 @@ namespace Krzysiej\RyobiCrawler; use Illuminate\Database\Capsule\Manager as Capsule; class DatabaseFactory { - public static function create(): Capsule + public static function create(Capsule $capsule): void { - $capsule = new Capsule; $capsule->addConnection(['driver' => 'sqlite', 'database' => __DIR__ . '/../database.sqlite']); $capsule->setAsGlobal(); $capsule->bootEloquent(); - - return $capsule; } } \ No newline at end of file diff --git a/src/Kernel.php b/src/Kernel.php index a059cf5..4293331 100644 --- a/src/Kernel.php +++ b/src/Kernel.php @@ -35,7 +35,7 @@ class Kernel extends BaseKernel 'secret' => 'S0ME_SECRET' ]); $services = $container->services()->defaults()->autowire()->autoconfigure(); - $services->set(Manager::class)->factory([DatabaseFactory::class, 'create']); + $services->set(Manager::class)->configurator([DatabaseFactory::class, 'create']); $services->load('Krzysiej\\RyobiCrawler\\', __DIR__ ) ->exclude('../src/{Models,Twig,DatabaseFactory.php,Kernel.php}'); $services->set('twig.extension.cache', AppExtension::class)->tag('twig.extension'); -- 2.52.0 From 17159e811fcc655a7f7352e145ea524e29da07fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20P=C5=82aczek?= Date: Thu, 15 May 2025 11:10:57 +0200 Subject: [PATCH 3/3] Remove bottom margin for breadcrumbs --- templates/productList.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/productList.html.twig b/templates/productList.html.twig index c0ba7e9..3f62b79 100644 --- a/templates/productList.html.twig +++ b/templates/productList.html.twig @@ -37,7 +37,7 @@ {{ product.subTitle }} -