Laravel: обновите файл.env, опубликовав сторонний пакет

У меня есть библиотека, которую я хочу обернуть в пакет Laravel.

Моя библиотека использует два конфига: публичный config.php для некоторых нечувствительных настроек и .env приватный конфиг для конфиденциальных учетных данных.

Я бы хотел vendor:publish мои конфиги для конечного пользователя. И это кажется хорошим для публики config.php но как опубликовать мой .env Laravel-дружественный способ? Я не смог найти способ сделать это vendor:publish,

1 ответ

Решение

Приложения .env Файл в первую очередь предназначен для хранения конфиденциальной информации в файлах конфигурации и других ресурсах, которые часто используются для контроля версий. Он не предназначен для публикации в любом случае.

Что вы можете сделать, это создать отдельный файл конфигурации с некоторыми заданными разумными настройками по умолчанию, в то же время позволяя пользователю их переопределить. Например:

// my-config.php
return [
    'user_model => env('MY_USER_MODEL', App\User::class),
    ...
];

При необходимости они могут реализовать свою собственную модель User или не указывать ее в своем собственном env-файле и использовать ее по умолчанию.

Этот подход довольно часто встречается в пакетах, предоставляющих роли, разрешения, права аренды и т. Д.

Другие вопросы по тегам