Link
Na plataforma Badiu.Net, um link é uma rota que aponta para um método de classe capaz de processar conteúdo estático ou dinâmico. Ele permite:
- Gerenciar rotas
- Exibir conteúdo (estático ou dinâmico)
- Executar regras de negócio no backend ou frontend
Abaixo, apresentamos o link responsável pela instalação e atualização do Badiu.Net. Você pode copiar o código ou apenas seguir a lógica para criar seus próprios links.
1. Definição da classe
Arquivo: BADIUNET_DIR_INSTALL/Badiu/System/CoreBundle/Model/UpdateLink.php
<?php
use Symfony\Component\DependencyInjection\ContainerInterface as Container;
use Badiu\System\CoreBundle\Model\Functionality\BadiuModelLib;
class UpdateLink extends BadiuModelLib
{
public function __construct(Container $container)
{
parent::__construct($container);
}
/**
* Método padrão executado quando a rota é acionada.
* Para chamar outro método, passe `_function=nomeDoMetodo` na query-string.
*/
public function exec()
{
// sua lógica de instalação/atualização aqui
}
}
Observação: para executar um método diferente de exec, adicione ?_function=nomeDoMetodo à URL.
2. Registro do serviço
badiu.system.core.update.link:
class: Badiu\System\CoreBundle\Model\UpdateLink
shared: false
public: true
arguments: ['@service_container']
Pela convenção Badiu.Net, a chave do serviço deve terminar com .link.
3. Registro da rota
badiu.system.core.update.link:
path: /system/update
controller: Badiu\System\CoreBundle\Controller\Functionality\BadiuController::linkwithoutsession
linkwithoutsession— renderiza a saída sem aplicar o tema do sistema.link— renderiza a saída com o layout do tema ativo.
Contextos em que link pode ser usado
Links são ideais para customizações pontuais de regras de negócio, como:
- Processamento de regras em um proxy
- Lógicas específicas de retorno de requisição automática
- Customizações que dispensam a estrutura macro do Badiu.Net
Essa abordagem mantém seu código enxuto e facilita a manutenção e evolução do sistema.