Configuração (config())
A MUCRM utiliza arquivos de configuração simples em PHP localizados em:
bootstrap/config/Cada arquivo representa um grupo de configurações e pode ser acessado pelo helper global:
config(...)Como Funciona
Se existir o arquivo:
bootstrap/config/app.phpVocê acessa assim:
config('app...')Se existir outro arquivo:
bootstrap/config/contact.phpVocê acessa assim:
config('contact...')O primeiro nome sempre é o nome do arquivo.
Estrutura Obrigatória
Todo arquivo de configuração deve retornar um array PHP normal ou associativo.
Exemplo simples:
return [
'name' => 'MUCRM Game Framework'
];Exemplo estruturado:
return [
'database' => [
'host' => '127.0.0.1'
]
];Arquivo app.php
Local:
bootstrap/config/app.phpConteúdo:
<?php
return [
'server' => [
'name' => 'Game',
'version' => '2.0',
],
'seo' => [
'title' => 'Portal Oficial',
'description' => 'Sistema moderno para gerenciamento do seu servidor.'
]
];Como Chamar
config('app.server.name');config('app.server.version');config('app.seo.title');Exemplo Real
echo config('app.server.name');Resultado:
Portal MUCRMCriando Novo Arquivo
Se você criar:
bootstrap/config/contact.phpConteúdo:
<?php
return [
'company' => [
'name' => 'MUCRM Studio',
'email' => 'contato@site.com'
],
'phone' => [
'whatsapp' => '(11) 99999-9999',
'support' => '(11) 4000-5000'
],
'address' => [
'city' => 'São Paulo',
'country' => 'Brasil'
]
];Como Acessar
config('contact.company.name');config('contact.company.email');config('contact.phone.whatsapp');config('contact.address.city');Outro Exemplo Profissional
Arquivo:
bootstrap/config/social.php<?php
return [
'instagram' => 'https://instagram.com/suaempresa',
'facebook' => 'https://facebook.com/suaempresa',
'youtube' => 'https://youtube.com/suaempresa'
];Uso:
config('social.instagram');config('social.youtube');Configuração de Tema
Arquivo:
bootstrap/config/theme.php<?php
return [
'colors' => [
'primary' => '#6d28d9',
'secondary' => '#111827'
],
'logo' => 'images/logo.png',
'favicon' => 'images/favicon.ico'
];Uso:
config('theme.colors.primary');
config('theme.logo');
config('theme.favicon');Valor Padrão
Você pode definir fallback caso a chave não exista:
config('app.server.name', 'Sistema Offline');Exemplo em Views
<title>{'{{'}config('app.seo.title'){'}}'}</title><meta name="description" content="{'{{'}config('app.seo.description'){'}}'}"><img src="{'{{'}src(config('theme.logo')){'}}'}"><a href="https://wa.me/">{'{{'}config('contact.phone.whatsapp'){'}}'}</a>Exemplo em Controllers
$email = config('contact.company.email');
Mail::to($email)->send($data);$timezone = config('app.server.timezone');
date_default_timezone_set($timezone);Boas práticas
- Separe configs por assunto.
- Use nomes curtos e claros.
- Nunca coloque lógica dentro do config.
- Use arrays organizados por grupo.
- Use config para textos, tokens, opções e URLs.
- Evite valores fixos espalhados no sistema.
Estrutura Recomendada
bootstrap/config/
├── app.php
├── database.php
├── contact.php
├── social.php
├── theme.php
└── mail.phpResumo Rápido
config('app.server.name');
config('contact.phone.whatsapp');
config('social.instagram');
config('theme.logo');