Posted July 6Jul 6 Administrators Changelog[0.1.3] – 2025-07-06InstallerConfig RefatoradoExtraiu do InstallerConfig toda a lógica de serialização de config/database.php.Manteve apenas o cache de instalação:partialWrite(array $data)merge(array $flattened) (opcional, para dot-notation)read(): arrayclear(): voidNovo método finalize() agora delega ao DatabaseConfigWriter::write($data) e só limpa o cache via InstallerConfig::clear().DatabaseConfigWriter Criado e AprimoradoClasse dedicada para gerar config/database.php:Cabeçalho customizado em heredoc com comentários e metadata.Geração de short-array ([ ... ]) via stub manual, garantindo alinhamento e seções comentadas.Método write(array $data): void como única API pública.Alias finalize(array $data): void apontando para write().buildGenesisDB AjustadoRemoveu chamadas estáticas incorretas a DatabaseConfigWriter::finalize() e ::clear().Passa a injetar DatabaseConfigWriter no controller e invocar somente $writer->write($data).Moveu a limpeza do cache para InstallerConfig::clear().Consolidou a montagem de $data (config, forum_news, game_config) antes da escrita.ThemeHelper OverhaulIntroduziu ThemeHelper::getThemeName($context = null): string:Detecta contexto (site ou admin) automaticamente pela URL.Lê valor no banco (settings.themes.*) ou fallback em config/cms.php.Verifica existência das pastas em resources/views/themes/{name} e public/themes/{name}.Manteve ThemeHelper::getTheme($context = null): array retornando:name (string)view_path (ex: "themes.{name}")asset_url (ex: "/themes/{name}")Normaliza URLs de assets através de:getAssets($path, $context = null)getPlugins($path, $context = null)getJavaScript($path, $context = null)getStyles($path, $context = null)Evita erros de “Array to string conversion” ao usar sempre getThemeName() para gerar paths.
Changelog
[0.1.3] – 2025-07-06
InstallerConfig Refatorado
Extraiu do
InstallerConfig
toda a lógica de serialização deconfig/database.php
.Manteve apenas o cache de instalação:
partialWrite(array $data)
merge(array $flattened)
(opcional, para dot-notation)read(): array
clear(): void
Novo método
finalize()
agora delega aoDatabaseConfigWriter::write($data)
e só limpa o cache viaInstallerConfig::clear()
.DatabaseConfigWriter Criado e Aprimorado
Classe dedicada para gerar
config/database.php
:Cabeçalho customizado em
heredoc
com comentários e metadata.Geração de short-array (
[ ... ]
) via stub manual, garantindo alinhamento e seções comentadas.Método
write(array $data): void
como única API pública.Alias
finalize(array $data): void
apontando parawrite()
.buildGenesisDB Ajustado
Removeu chamadas estáticas incorretas a
DatabaseConfigWriter::finalize()
e::clear()
.Passa a injetar
DatabaseConfigWriter
no controller e invocar somente$writer->write($data)
.Moveu a limpeza do cache para
InstallerConfig::clear()
.Consolidou a montagem de
$data
(config, forum_news, game_config) antes da escrita.ThemeHelper Overhaul
Introduziu
ThemeHelper::getThemeName($context = null): string
:Detecta contexto (
site
ouadmin
) automaticamente pela URL.Lê valor no banco (
settings.themes.*
) ou fallback emconfig/cms.php
.Verifica existência das pastas em
resources/views/themes/{name}
epublic/themes/{name}
.Manteve
ThemeHelper::getTheme($context = null): array
retornando:name
(string)view_path
(ex:"themes.{name}"
)asset_url
(ex:"/themes/{name}"
)Normaliza URLs de assets através de:
getAssets($path, $context = null)
getPlugins($path, $context = null)
getJavaScript($path, $context = null)
getStyles($path, $context = null)
Evita erros de “Array to string conversion” ao usar sempre
getThemeName()
para gerar paths.