Выполнение команды config: cache во время развертывания - PullRequest
0 голосов
/ 14 января 2020

У меня есть секретный тестовый ключ для шлюза платежей в файле .env.

APP_TIMEZONE = 'Africa/Lagos'
APP_PAYSTACK_KEY = sk_test_b6c0b4925403blablabla

Причина в том, что другие люди, работающие над проектом, могут использовать свой собственный тестовый ключ, если у них есть. Таким образом, в контроллере платежей я получаю значение этого ключа следующим образом:

"authorization: Bearer " .env('APP_PAYSTACK_KEY' , 'sk_test_b6c0b4925403blablabla')

Во время развертывания я намереваюсь запустить config:cache, чтобы Laravel не собирался проделывать долгий путь для получения требуемой конфигурации расстановок. Но из Laravel документации:

Если вы выполняете команду config: cache во время процесса развертывания, вы должны быть уверены, что вызываете функцию env только из ваших файлов конфигурации. После того, как конфигурация будет кэширована, файл .env не будет загружен, и все вызовы функции env вернут значение NULL.

Поэтому мой вопрос заключается в том, как установить этот APP_PAYSTACK_KEY в файле конфигурации и как получить его в любом месте моего приложения?

1 Ответ

1 голос
/ 14 января 2020

Вы можете добавить paystack к вашему config/services.php файлу:

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Third Party Services
    |--------------------------------------------------------------------------
    |
    | This file is for storing the credentials for third party services such
    | as Stripe, Mailgun, SparkPost and others. This file provides a sane
    | default location for this type of information, allowing packages
    | to have a conventional place to find your various credentials.
    |
    */

    // ...

    'paystack' => [
        'key' => env('APP_PAYSTACK_KEY', 'sk_test_b6c0b4925403blablabla'),
    ],
];

Затем вызвать config() вспомогательный метод вместо env() на вашем контроллере:

"authorization: Bearer " .config('services.paystack.key')

Теперь вы можете кешировать свои настройки, позвонив по номеру php artisan config:cache.

...