namespace
Declara namespace em TLPP. Evita conflito de nomes em projetos grandes. Equivalente a package Java ou namespace C#.
Assinatura: namespace empresa.modulo.area
Retorna: construct
namespace agrupa classes/funcoes TLPP num escopo nomeado, evitando conflito quando voce tem multiplas implementacoes da mesma classe (ex: cliente.Pedido e fornecedor.Pedido).
Sintaxe
#include 'tlpp-core.th'
namespace archtec.financeiro.relatorios
class GeradorBoleto
public method new() as object
public method gerar(cTitulo as character) as character
endclassUso em outro arquivo
#include 'tlpp-core.th'
namespace archtec.financeiro.processos
using archtec.financeiro.relatorios.GeradorBoleto
function Processar()
local oGer as object
oGer := GeradorBoleto():new()
return oGer:gerar('001')
endfunctionConvencao de naming
Recomendado seguir padrao reverse-domain estilo Java:
archtec.financeiro.relatorioscliente.modulo.areaseu_dominio.projeto.modulo
Pegadinhas
- Nao misture namespace e nivel global na mesma compilacao — escolha um padrao
- using e obrigatorio pra usar classe de outro namespace
- Compilacao: arquivos com namespace geram
.tlpp, sem geram.prw
Exemplos
Declarar namespace
namespace archtec.financeiro
class Gerador
...
endclass