ConfigWrite
O ConfigWrite é responsável por gerenciar os arquivos de configuração localizados em:
bootstrap/config/Ele permite alterar valores dos arrays de configuração de forma simples e permanente.
Funcionamento
O ConfigWrite atualiza apenas o índice informado. Toda a estrutura restante do arquivo é preservada automaticamente.
Por exemplo, considerando o arquivo:
bootstrap/config/user.phpreturn [
'name' => 'User',
'email' => 'user@site.com',
'level' => 400
];Executando:
config_write::set(
'user.name',
'Admin'
);Apenas o índice name será alterado. Resultado:
return [
'name' => 'Admin',
'email' => 'user@site.com',
'level' => 400
];Estruturas aninhadas
Também é possível trabalhar com estruturas aninhadas.
return [
'user' => [
'name' => 'User',
'email' => 'user@site.com',
'level' => 400
]
];Executando:
config_write::set(
'user.user.name',
'Admin'
);Resultado:
return [
'user' => [
'name' => 'Admin',
'email' => 'user@site.com',
'level' => 400
]
];setMany()
O método setMany() permite alterar múltiplas configurações ao mesmo tempo dentro de um ou mais arquivos de configuração.
use MUCRM\engine\support\config\config_write;
config_write::setMany([
'user.name' => 'Admin',
'user.email' => 'admin@site.com',
'user.level' => 400
]);Como funciona
Cada chave segue o padrão:
arquivo.indice.subindiceExemplo:
user.nameSignifica:
- arquivo:
user.php - índice:
name
Comportamento
O setMany():
- atualiza múltiplos índices de forma simultânea;
- mantém toda a estrutura original intacta;
- altera apenas os campos informados;
- não sobrescreve valores não mencionados.
Exemplo de estrutura original
return [
'name' => 'User',
'email' => 'user@site.com',
'level' => 400
];Após setMany()
return [
'name' => 'Admin',
'email' => 'admin@site.com',
'level' => 400
];Diferença entre set e setMany
set()
config_write::set('user.name', 'Admin');Altera apenas um único valor.
setMany()
config_write::setMany([
'user.name' => 'Admin',
'user.level' => 400
]);Altera vários valores de uma vez.