russsiq / laravel-env-manager
Менеджер файла переменных окружения Laravel 9.x.
Installs: 72
Dependents: 2
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 2
Type:package
Requires
- php: 8.1.*
- illuminate/support: 9.*
Requires (Dev)
- phpunit/phpunit: ^9.5.20
This package is auto-updated.
Last update: 2024-04-24 04:01:29 UTC
README
Данный менеджер используется только для физического взаимодействия с файлом переменных окружения.
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);
Список доступных публичных методов:
filePath(): string
Получить полный путь к текущему файлу окружения.
setFilePath(string $filePath): self
Установить полный путь к текущему файлу окружения.
resetFilePath(): self
Сбросить полный путь к текущему файлу окружения.
fileExists(): bool
Проверить физическое существование текущего файла окружения.
has(string $name): bool
Проверить существование значения для указанной переменной окружения.
get(string $name, $default = null): ?string
Получить значение для указанной переменной окружения.
set(string $name, $value): self
Установить значение для переменной окружения.
setMany(array $data): self
Установить значения для переменных окружения.
save(): bool
Сохранить файл окружения.
newFromPath(string $filePath): self
Создать файл окружения путем копирования содержимого файла по указанному полному пути. Полная перезагрузка переменных окружения.
withNewAppKey(): self
Создать новый ключ приложения.
Пример использования
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' => 'from@example.com', '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.