Skip to content

Менеджер файла переменных окружения Laravel 8.x

License

Notifications You must be signed in to change notification settings

russsiq/laravel-env-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Менеджер файла переменных окружения Laravel 9.x.

Данный менеджер используется только для физического взаимодействия с файлом переменных окружения.

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' => '[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.

About

Менеджер файла переменных окружения Laravel 8.x

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published