Skip to content

Commit f1b471a

Browse files
authored
Use PhpFileLoader instead of YamlFileLoader (#275)
* Use PhpFileLoader instead of YamlFileLoader * wip * update services_test.yml * phpcbf
1 parent 540acd8 commit f1b471a

24 files changed

+266
-193
lines changed

composer.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
"phpmd/phpmd": "^2.9",
3030
"phpspec/prophecy-phpunit": "^2.0",
3131
"phpstan/phpstan": "2.1.31",
32+
"phpstan/phpstan-deprecation-rules": "^2.0",
33+
"phpstan/phpstan-phpunit": "^2.0",
3234
"phpunit/phpunit": "^9.3",
3335
"rregeer/phpunit-coverage-check": "^0.3.1",
3436
"slevomat/coding-standard": "^8.15",

composer.lock

Lines changed: 101 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

phpstan.neon

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
includes:
22
- vendor/jangregor/phpstan-prophecy/extension.neon
3+
- vendor/phpstan/phpstan-deprecation-rules/rules.neon
4+
- vendor/phpstan/phpstan-phpunit/extension.neon
35

46
parameters:
57
level: 8
@@ -8,6 +10,5 @@ parameters:
810
- test
911
excludePaths:
1012
- test/DataFixtures
11-
- test/PhpUnit
1213
parallel:
1314
processTimeout: 300.0

src/Resources/api.php

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?php declare(strict_types=1);
2+
3+
use SupportPal\ApiClient\Api\Api;
4+
use SupportPal\ApiClient\Api\CoreApi;
5+
use SupportPal\ApiClient\Api\SelfServiceApi;
6+
use SupportPal\ApiClient\Api\TicketApi;
7+
use SupportPal\ApiClient\Api\UserApi;
8+
use SupportPal\ApiClient\Http\CoreClient;
9+
use SupportPal\ApiClient\Http\SelfServiceClient;
10+
use SupportPal\ApiClient\Http\TicketClient;
11+
use SupportPal\ApiClient\Http\UserClient;
12+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
13+
14+
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
15+
16+
return static function (ContainerConfigurator $containerConfigurator): void {
17+
$services = $containerConfigurator->services();
18+
19+
$services->defaults()
20+
->autowire()
21+
->autoconfigure();
22+
23+
$services->set(Api::class)
24+
->private();
25+
26+
$services->set(CoreApi::class)
27+
->public()
28+
->parent(Api::class)
29+
->arg('$apiClient', service(CoreClient::class));
30+
31+
$services->set(SelfServiceApi::class)
32+
->public()
33+
->parent(Api::class)
34+
->arg('$apiClient', service(SelfServiceClient::class));
35+
36+
$services->set(TicketApi::class)
37+
->public()
38+
->parent(Api::class)
39+
->arg('$apiClient', service(TicketClient::class));
40+
41+
$services->set(UserApi::class)
42+
->public()
43+
->parent(Api::class)
44+
->arg('$apiClient', service(UserClient::class));
45+
};

src/Resources/api.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

src/Resources/client.php

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php declare(strict_types=1);
2+
3+
use SupportPal\ApiClient\Http\Client;
4+
use SupportPal\ApiClient\Http\CoreClient;
5+
use SupportPal\ApiClient\Http\Request;
6+
use SupportPal\ApiClient\Http\SelfServiceClient;
7+
use SupportPal\ApiClient\Http\TicketClient;
8+
use SupportPal\ApiClient\Http\UserClient;
9+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
10+
11+
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
12+
13+
return static function (ContainerConfigurator $containerConfigurator): void {
14+
$services = $containerConfigurator->services();
15+
16+
$services->defaults()
17+
->autowire()
18+
->autoconfigure();
19+
20+
$services->set(Client::class)
21+
->public()
22+
->arg('$httpClient', service(\GuzzleHttp\Client::class));
23+
24+
$services->set(CoreClient::class)
25+
->parent(Client::class);
26+
27+
$services->set(SelfServiceClient::class)
28+
->parent(Client::class);
29+
30+
$services->set(TicketClient::class)
31+
->parent(Client::class);
32+
33+
$services->set(UserClient::class)
34+
->parent(Client::class);
35+
36+
$services->set(Request::class)
37+
->public()
38+
->arg('$apiUrl', '%apiUrl%')
39+
->arg('$apiToken', '%apiToken%')
40+
->arg('$contentType', '%apiContentType%')
41+
->arg('$defaultBodyContent', '%defaultBodyContent%')
42+
->arg('$defaultParameters', '%defaultParameters%');
43+
};

src/Resources/client.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

src/Resources/services.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php declare(strict_types=1);
2+
3+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
4+
5+
return static function (ContainerConfigurator $containerConfigurator): void {
6+
$containerConfigurator->import(__DIR__ . '/api.php');
7+
$containerConfigurator->import(__DIR__ . '/client.php');
8+
9+
$parameters = $containerConfigurator->parameters();
10+
$parameters->set('apiContentType', 'application/json');
11+
$parameters->set('contentType', 'json');
12+
13+
$services = $containerConfigurator->services();
14+
$services->defaults()
15+
->autowire()
16+
->autoconfigure();
17+
};

src/Resources/services.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/SupportPal.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
use SupportPal\ApiClient\Http\Request;
2424
use Symfony\Component\Config\FileLocator;
2525
use Symfony\Component\DependencyInjection\ContainerBuilder;
26-
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
26+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
2727

2828
use function array_merge;
2929
use function str_replace;
@@ -50,8 +50,8 @@ public function __construct(
5050
$requestDefaults = $requestDefaults ?? new RequestDefaults;
5151

5252
$containerBuilder = new ContainerBuilder;
53-
$loader = new YamlFileLoader($containerBuilder, new FileLocator(__DIR__));
54-
$loader->load('Resources/services.yml');
53+
$loader = new PhpFileLoader($containerBuilder, new FileLocator(__DIR__));
54+
$loader->load('Resources/services.php');
5555
$containerBuilder->setParameter('apiUrl', $this->escapeSpecialCharacters($apiContext->getApiUrl()));
5656
$containerBuilder->setParameter('apiToken', $this->escapeSpecialCharacters($apiContext->getApiToken()));
5757
$containerBuilder->setParameter('defaultParameters', $requestDefaults->getDefaultParameters());

0 commit comments

Comments
 (0)