Skip to main content

Configuração e Dependências

Requires em controle.php

Carregamos três dependências via require_once(APPPATH . '...'):

require_once(APPPATH . 'controllers/bibliotecas/4cb18a6c-9c9a-4201-82e6-4f6cc3bea445/wosk_webservice.php');
require_once(APPPATH . 'controllers/bibliotecas/592ccfa0-2692-44e3-aaea-cc7c6c6cfcfa/utilOsk.php');
require_once(APPPATH . 'controllers/bibliotecas/0670acec-4aca-43a0-8943-659600407283/db_sqlserver.php');
UUID Arquivo O que fornece
4cb18a6c-... wosk_webservice.php Trait WOSK\Commons\WebService — formata JSON, valida campos e salva logs
592ccfa0-... utilOsk.php Classe pai — conecta ao MySQL e expõe $this->conexao (PDO)
0670acec-... db_sqlserver.php Gerencia a conexão PDO com o SQL Server Linx (driver sqlsrv:)

Conexão MySQL

Como configuramos

Em utilOsk, chamamos getConfiguracao('db_osk_prod') — as credenciais ficam em Base64 numa tabela de configuração do sistema. O método _setConexao() cria a conexão PDO:

// PHP 7.3 — connection string
"mysql:host={$host};port={$porta};dbname={$banco};charset=utf8"

PDO::ATTR_PERSISTENT     = true   // conexão persistente
PDO::ATTR_TIMEOUT        = 120    // timeout em segundos
PDO::ATTR_EMULATE_PREPARES = true

Conexão SQL Server

Instanciamos em buscarDadosEcommercePorLoja()
// PHP 7.3
$sqlserver = new \db_sqlserver(false, 'LX_ZERO_300', true);
// Parâmetros: ($homologacao = false, $banco, $conectar_agora = true)
// connection string: "sqlsrv:Server=<HOST_SQLSERVER>,<PORTA>;Database=LX_ZERO_300"
Ambiente Host Porta Banco Usuário
Produção <HOST_SQLSERVER_PROD> <PORTA_PROD> LX_ZERO_300 <USUARIO_SQLSERVER>
Homologação <HOST_SQLSERVER_HML> <PORTA_HML> LINX_HMLG <USUARIO_SQLSERVER>
Credenciais hardcoded As senhas do SQL Server ficam em db_sqlserver.php

Variáveis de ambiente

Variável Usada por Descrição
$_ENV["base_db"] util Nome do banco MySQL principal
$_ENV['WOSK_DB_HMG'] WOSK\Common Flag de homologação para conexões WOSK (false em produção)
APPPATH controle.php Constante CodeIgniter — base dos require_once

Logs de requisição

O trait WOSK\Commons\WebService salva automaticamente toda chamada no banco integrador ({base_db}_integrador):

Tabela Conteúdo
wosk_webservice Registro principal da chamada
wosk_webservice_parametros Parâmetros recebidos (JSON)
wosk_webservice_retorno Resposta enviada (JSON)
wosk_webservice_callback Tokens de callback
Diagnóstico via log Em qualquer dúvida sobre o que retornamos em uma chamada anterior, consultamos wosk_webservice_retorno no banco integrador filtrando pelo timestamp e pelo token <TOKEN_FULLSTORE>.