Notas de atualizações
Nova função multiRender()
para renderização múltipla de componentes semelhantes com dados diferentes utilizando um array
numérico.
Antes:
Agora:
Buscando uma melhor forma de renderizar views e components utilizando um array, agora é possível acessar valores em diferentes níveis, como por exemplo, para renderizar o valor de $product['category']['name'] :
Antes:
Agora:
Resultado:
Os valores podem ser acessados utilizando ->
, para acessar $product['category']['icon']['full']
por exemplo, deve-se utilizar {{category->icon->full}}
.
Para melhorar a renderização da função getPage()
, agora a variável $opts
pode receber múltiplos itens, anteriormente era possível utilizar apenas os valores para header
, footer
e seo
. Essa atualização permite que valores de variáveis para renderização da página sejam enviados corretamente.
A função setConfigs()
do arquivo app/Db/Database.php
foi levemente corrigida para que seja utilizada corretamente como Static
e resolver o erro que ocorria ao tentar utilizar o Luna no PHP 8 em diante.
O erro não ocorre nas versões do PHP 7
Buscando evitar problemas com servidores ou erros de gerenciamento de valores nativos do PHP, a classe Environment
sofreu alterações para utilizar a variável global $_ENV
ao invés das funções nativas putenv()
ou getenv()
.
Com a alteração, os valores informados no arquivo .env
agora devem ser obtidos utilizando a classe:
Todas as classes e arquivos do Luna que utilizavam as funções nativas foram modificadas para utilizar a classe atualizada.
Configurações de SEO fácil e rápida na renderização da página ou view:
Leia a documentação aqui.
O header e footer agora fazem parte de um array de configurações opcionais. A alteração ocorreu devido a necessidade de novas informações na renderização da página, como o SEO:
Antes:
Depois:
Para evitar que, em etapa de desenvolvimento ou de manutenções, o arquivo index.php
sofresse modificações, as configurações das variáveis padrões das views (antigo View::init
) View::define
e as variáveis das flash messages Flash::define
foram movidas para o arquivo define.php
, isolando o arquivo para exclusivamente definições de variáveis e permitindo que o arquivo index.php
não exija alterações durante o desenvolvimento.
Correções de erros
Quando uma páginação estava vazia (zero itens resultantes) a renderização da páginação era problemática, uma simples correção de retorno resolveu o problema.
Os headers
do retorno da requisição não eram corretamente enviados devido ao uso incorreto da variável $this->headers
.
Alguns avisos (WARNING ou ALERT) geram logs desnecessários, algumas correções foram realizadas para que não ocorra, como:
Variável
$response
definida previamente no métodonext
deMiddleware.php
;Definição de variáveis de ambiente do arquivo
.env
corrigidas em caso de linha em branco para evitar o uso do métodoputenv
em strings vazias;Correção de uso da string
DEFAULT_CONTENT_TYPE
de variável para string, o aviso poderia se tornar um erro fatal em futuras atualizações do PHP.
Criação e renderização de flash messages na view:
Leia a documentação aqui.
Agora também é possível obter um parâmetro específico utilizando o método:
As classes
Pagination
eCache
foram atualizadas para suportar as atualizações.
Leia a documentação aqui.
As respostas do $response
agora podem conter alias para facilitar a definição:
O padrão de retorno continua sendo text/html
e pode ser alterado no .env
em DEFAULT_CONTENT_TYPE
` .
Leia a documentação aqui.
Versão estável inicial do Luna.
Last updated