Site

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.php

Você acessa assim:

config('app...')

Se existir outro arquivo:

bootstrap/config/contact.php

Você 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.php

Conteú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 MUCRM

Criando Novo Arquivo

Se você criar:

bootstrap/config/contact.php

Conteú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.php

Resumo Rápido

config('app.server.name');

config('contact.phone.whatsapp');

config('social.instagram');

config('theme.logo');