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.