У меня есть библиотека, которую я хочу обернуть в пакет Laravel.
Моя библиотека использует два конфига: публичный config.php
для некоторых нечувствительных настроек и .env
приватный конфиг для конфиденциальных учетных данных.
Я бы хотел vendor:publish
мои конфиги для конечного пользователя. И это кажется хорошим для публики config.php
но как опубликовать мой .env
Laravel-дружественный способ? Я не смог найти способ сделать это vendor:publish
,
Приложения .env
Файл в первую очередь предназначен для хранения конфиденциальной информации в файлах конфигурации и других ресурсах, которые часто используются для контроля версий. Он не предназначен для публикации в любом случае.
То, что вы можете сделать, это создать отдельный файл конфигурации с некоторыми разумными предустановками по умолчанию, в то же время позволяя пользователю переопределить их. Например:
// my-config.php
return [
'user_model => env('MY_USER_MODEL', App\User::class),
...
];
При необходимости они могут реализовать свою собственную модель User или не указывать ее в своем собственном env-файле и использовать ее по умолчанию.
Этот подход довольно часто встречается в пакетах, предоставляющих роли, разрешения, права аренды и т. Д.
Других решений пока нет …