From c5cc95fa3f851576e21e70d1450c8e02267d7b0c Mon Sep 17 00:00:00 2001 From: Dmitrii Derepko Date: Tue, 1 Aug 2023 22:59:05 +0300 Subject: [PATCH 1/7] Fix router --- blog-api/config/common/di/router.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog-api/config/common/di/router.php b/blog-api/config/common/di/router.php index 23eef381..6ef13e8d 100644 --- a/blog-api/config/common/di/router.php +++ b/blog-api/config/common/di/router.php @@ -19,7 +19,7 @@ ->middleware(FormatDataResponse::class) ->middleware(ExceptionMiddleware::class) ->middleware(RequestBodyParser::class) - ->addGroup( + ->addRoute( Group::create('/{_language}') ->routes(...$config->get('routes')) ); From da5530cc55c79678c3a362753964bd2d5788dc56 Mon Sep 17 00:00:00 2001 From: Dmitrii Derepko Date: Tue, 1 Aug 2023 23:00:57 +0300 Subject: [PATCH 2/7] Add example for lazy service --- blog-api/composer.json | 1 + blog-api/config/web/di/application.php | 3 +++ blog-api/src/InfoController.php | 6 +++++- blog-api/tests/Acceptance/SiteCest.php | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/blog-api/composer.json b/blog-api/composer.json index 3eacedb2..5792d991 100644 --- a/blog-api/composer.json +++ b/blog-api/composer.json @@ -27,6 +27,7 @@ "cycle/entity-behavior": "^1.0", "cycle/orm": "^2.0", "doctrine/collections": "^2.0", + "friendsofphp/proxy-manager-lts": "^1.0", "httpsoft/http-message": "^1.1", "myclabs/php-enum": "^1.7", "psr/container": "^1.0|^2.0", diff --git a/blog-api/config/web/di/application.php b/blog-api/config/web/di/application.php index 709f69e3..7163720e 100644 --- a/blog-api/config/web/di/application.php +++ b/blog-api/config/web/di/application.php @@ -11,6 +11,9 @@ /** @var array $params */ return [ + \App\VersionProvider::class => [ + 'lazy' => true, + ], Yiisoft\Yii\Http\Application::class => [ '__construct()' => [ 'dispatcher' => DynamicReference::to(static function (Injector $injector) use ($params) { diff --git a/blog-api/src/InfoController.php b/blog-api/src/InfoController.php index 3ce6fafb..77c888b2 100644 --- a/blog-api/src/InfoController.php +++ b/blog-api/src/InfoController.php @@ -55,6 +55,10 @@ public function __construct(private VersionProvider $versionProvider) */ public function index(DataResponseFactoryInterface $responseFactory): ResponseInterface { - return $responseFactory->createResponse(['version' => $this->versionProvider->version, 'author' => 'yiisoft']); + return $responseFactory->createResponse([ + 'version' => $this->versionProvider->version, + 'lazy' => $this->versionProvider instanceof \ProxyManager\Proxy\LazyLoadingInterface, + 'author' => 'yiisoft' + ]); } } diff --git a/blog-api/tests/Acceptance/SiteCest.php b/blog-api/tests/Acceptance/SiteCest.php index 0c704116..529c2d3d 100644 --- a/blog-api/tests/Acceptance/SiteCest.php +++ b/blog-api/tests/Acceptance/SiteCest.php @@ -21,6 +21,7 @@ public function getHome(AcceptanceTester $I): void 'error_code' => null, 'data' => [ 'version' => '3.0', + 'lazy' => true, 'author' => 'yiisoft', ], ] From c962acf45cd70a26fd36e075e749cfa52d5b683e Mon Sep 17 00:00:00 2001 From: StyleCI Bot Date: Tue, 1 Aug 2023 20:01:23 +0000 Subject: [PATCH 3/7] Apply fixes from StyleCI --- blog-api/src/InfoController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog-api/src/InfoController.php b/blog-api/src/InfoController.php index 77c888b2..1dae5408 100644 --- a/blog-api/src/InfoController.php +++ b/blog-api/src/InfoController.php @@ -58,7 +58,7 @@ public function index(DataResponseFactoryInterface $responseFactory): ResponseIn return $responseFactory->createResponse([ 'version' => $this->versionProvider->version, 'lazy' => $this->versionProvider instanceof \ProxyManager\Proxy\LazyLoadingInterface, - 'author' => 'yiisoft' + 'author' => 'yiisoft', ]); } } From a519219bb4c04226fc5a02835d7eccc26ee73d4a Mon Sep 17 00:00:00 2001 From: Dmitrii Derepko Date: Tue, 1 Aug 2023 23:05:47 +0300 Subject: [PATCH 4/7] Fix dependencies --- blog-api/composer.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/blog-api/composer.json b/blog-api/composer.json index 5792d991..9329ec46 100644 --- a/blog-api/composer.json +++ b/blog-api/composer.json @@ -44,8 +44,8 @@ "yiisoft/config": "^1.0", "yiisoft/data": "^1.0", "yiisoft/data-response": "^2.0", - "yiisoft/definitions": "^3.0", - "yiisoft/di": "^1.0", + "yiisoft/definitions": "dev-lazy-services as 3.0", + "yiisoft/di": "dev-lazy-services as 1.2", "yiisoft/error-handler": "^3.0", "yiisoft/factory": "^1.0", "yiisoft/files": "^2.0", @@ -92,6 +92,9 @@ "yiisoft/yii-gii": "dev-master", "yiisoft/yii-testing": "dev-master" }, + "replace": { + "yiisoft/definitions": "*" + }, "autoload": { "psr-4": { "App\\": "src" From 71c0d52377f4beead9a1bd67a69d60de3d11d110 Mon Sep 17 00:00:00 2001 From: Dmitrii Derepko Date: Tue, 1 Aug 2023 23:14:25 +0300 Subject: [PATCH 5/7] Fix dependencies --- blog-api/composer.json | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/blog-api/composer.json b/blog-api/composer.json index 9329ec46..e27fe526 100644 --- a/blog-api/composer.json +++ b/blog-api/composer.json @@ -44,8 +44,8 @@ "yiisoft/config": "^1.0", "yiisoft/data": "^1.0", "yiisoft/data-response": "^2.0", - "yiisoft/definitions": "dev-lazy-services as 3.0", - "yiisoft/di": "dev-lazy-services as 1.2", + "yiisoft/definitions": "dev-lazy-definition as 3.0.1", + "yiisoft/di": "dev-lazy-services as 1.2.0", "yiisoft/error-handler": "^3.0", "yiisoft/factory": "^1.0", "yiisoft/files": "^2.0", @@ -92,9 +92,6 @@ "yiisoft/yii-gii": "dev-master", "yiisoft/yii-testing": "dev-master" }, - "replace": { - "yiisoft/definitions": "*" - }, "autoload": { "psr-4": { "App\\": "src" From b4c336e373552c6c69466e0cb860fad846571cc1 Mon Sep 17 00:00:00 2001 From: Dmitrii Derepko Date: Tue, 1 Aug 2023 23:17:11 +0300 Subject: [PATCH 6/7] Revert "Fix router" This reverts commit c5cc95fa3f851576e21e70d1450c8e02267d7b0c. --- blog-api/config/common/di/router.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog-api/config/common/di/router.php b/blog-api/config/common/di/router.php index 6ef13e8d..23eef381 100644 --- a/blog-api/config/common/di/router.php +++ b/blog-api/config/common/di/router.php @@ -19,7 +19,7 @@ ->middleware(FormatDataResponse::class) ->middleware(ExceptionMiddleware::class) ->middleware(RequestBodyParser::class) - ->addRoute( + ->addGroup( Group::create('/{_language}') ->routes(...$config->get('routes')) ); From 04fc950a02e7a0813b2cd02d7fabbd2b575b067f Mon Sep 17 00:00:00 2001 From: Dmitrii Derepko Date: Tue, 1 Aug 2023 23:23:32 +0300 Subject: [PATCH 7/7] Fix tests --- blog-api/tests/Functional/IndexControllerTest.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/blog-api/tests/Functional/IndexControllerTest.php b/blog-api/tests/Functional/IndexControllerTest.php index 781f79ec..1b9abd4e 100644 --- a/blog-api/tests/Functional/IndexControllerTest.php +++ b/blog-api/tests/Functional/IndexControllerTest.php @@ -30,7 +30,11 @@ public function testGetIndex(): void 'status' => 'success', 'error_message' => '', 'error_code' => null, - 'data' => ['version' => '3.0', 'author' => 'yiisoft'], + 'data' => [ + 'version' => '3.0', + 'author' => 'yiisoft', + 'lazy' => true, + ], ], $response->getContentAsJson() ); @@ -52,7 +56,11 @@ public function testGetIndexMockVersion(): void 'status' => 'success', 'error_message' => '', 'error_code' => null, - 'data' => ['version' => '3.0.0', 'author' => 'yiisoft'], + 'data' => [ + 'version' => '3.0.0', + 'author' => 'yiisoft', + 'lazy' => false, + ], ], $response->getContentAsJson() );