带参数的Symfony Custom助手

时间:2018-04-26 07:43:08

标签: php service symfony-3.4

我正在开发一个Symfony应用程序,我需要将帮助程序编码为服务。首先,我已经将3个常量定义为参数,以便在所有Web应用程序中使用它们

这是参数内容的一部分:

parameters:
    api.public.key: '123456789'
    api.private.key: 'ABCDEFGHI'
    api.timestamp: '1'

现在我要开发我的自定义助手Utils/ApiHelper.php,但我需要帮助者才能收到这三个参数。

我的助手将我的助手定义为这样的服务:

services:
    api.helper:
        class: AppBundle\Utils\ApiHelper
        public: true

1 个答案:

答案 0 :(得分:1)

您可以将arguments添加到自定义服务:

services:
    api.helper:
        class: AppBundle\Utils\ApiHelper
        public: true
        arguments: ['%api.public.key%', '%api.private.key%', '%api.timestamp%']

然后将其作为构造函数参数传递:

class ApiHelper
{
    // ...
    public function __construct(string $publicKey, string $privateKey, string $timeStamp)
    {
        // ...
    }
}