Данный менеджер используется только для физического взаимодействия с файлом переменных окружения.
NB
Текущий файл окружения, подгруженный для чтения / редактирования и корневой файл окружения
.env
могут быть разными, но сохранение всегда производится в корневой файл, указанный при инициализации экземпляра менеджера. При регистрации в рамках поставщика службы использован шаблон Одиночка (Singleton).
Для добавления зависимости в проект на Laravel, используйте менеджер пакетов Composer:
composer require russsiq/laravel-env-manager
Если в вашем приложении включен отказ от обнаружения пакетов в директиве dont-discover
в разделе extra
файла composer.json
, то необходимо самостоятельно добавить следующее в файле config/app.php
:
- Провайдер услуг в раздел
providers
:
Russsiq\EnvManager\EnvManagerServiceProvider::class,
- Псевдоним класса (Facade) в раздел
aliases
:
'EnvManager' => Russsiq\EnvManager\Support\Facades\EnvManager::class,
Все публичные методы доступны через фасад EnvManager
:
EnvManager::someMethod(example $someParam);
Список доступных публичных методов:
Получить полный путь к текущему файлу окружения.
Установить полный путь к текущему файлу окружения.
Сбросить полный путь к текущему файлу окружения.
Проверить физическое существование текущего файла окружения.
Проверить существование значения для указанной переменной окружения.
Получить значение для указанной переменной окружения.
Установить значение для переменной окружения.
Установить значения для переменных окружения.
Сохранить файл окружения.
Создать файл окружения путем копирования содержимого файла по указанному полному пути. Полная перезагрузка переменных окружения.
Создать новый ключ приложения.
use Russsiq\EnvManager\Facades\EnvManager;
// Если файл не существует.
if (! EnvManager::fileExists()) {
// Создаем новый файл из образца.
EnvManager::newFromPath(base_path('.env.example'))
// Попутно генерируем ключ для приложения.
->withNewAppKey()
// Устанавливаем необходимые значения.
->setMany([
'APP_NAME' => 'Example site',
'APP_LOCALE' => 'ru',
'APP_URL' => url('/'),
'MAIL_FROM_ADDRESS' => '[email protected]',
'MAIL_FROM_NAME' => 'Example',
])
// Сохраняем новый файл в корне как `.env`.
->save();
}
// Распечатаем для примера
dump(EnvManager::get('APP_NAME')); // -> `Example site`
Для запуска тестов используйте команду:
composer run-script test
Для запуска тестов и формирования agile-документации, генерируемой в HTML-формате и записываемой в файл tests/testdox.html, используйте команду:
composer run-script testdox
Для удаления пакета из вашего проекта на Laravel используйте команду:
composer remove russsiq/laravel-env-manager
laravel-env-manager
– программное обеспечение с открытым исходным кодом, распространяющееся по лицензии MIT.