Issues (3641)

Service/PaymentToUtilEncodingServiceBridge.php (1 issue)

1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace Spryker\Client\Payment\Dependency\Service;
9
10
class PaymentToUtilEncodingServiceBridge implements PaymentToUtilEncodingServiceInterface
11
{
12
    /**
13
     * @var \Spryker\Service\UtilEncoding\UtilEncodingServiceInterface
14
     */
15
    protected $utilEncodingService;
16
17
    /**
18
     * @param \Spryker\Service\UtilEncoding\UtilEncodingServiceInterface $utilEncodingService
19
     */
20
    public function __construct($utilEncodingService)
21
    {
22
        $this->utilEncodingService = $utilEncodingService;
23
    }
24
25
    /**
26
     * @param string $jsonValue
27
     * @param bool $assoc
28
     * @param int|null $depth
29
     * @param int|null $options
30
     *
31
     * @return array|null
32
     */
33
    public function decodeJson(string $jsonValue, bool $assoc = false, ?int $depth = null, ?int $options = null): ?array
34
    {
35
        if ($assoc === false) {
36
            trigger_error(
37
                'Param #2 `$assoc` must be `true` as return of type `object` is not accepted.',
38
                E_USER_DEPRECATED,
39
            );
40
        }
41
42
        return $this->utilEncodingService->decodeJson($jsonValue, $assoc, $depth, $options);
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->utilEncodi...ssoc, $depth, $options) could return the type object which is incompatible with the type-hinted return array|null. Consider adding an additional type-check to rule them out.
Loading history...
43
    }
44
}
45