/** * Cria um objeto para obter os dados do SRO. * @param string $sro Código de rastreamento. * @throws Exception */ public function __construct($sro) { if (parent::validaSro($sro)) { $this->sro = $sro; $this->siglaTipoServico = substr($sro, 0, 2); $this->descricaoTipoServico = self::$siglasComDescricao[substr($sro, 0, 2)]; $this->codigoObjeto = substr($sro, 2, 8); $this->digitoVerificador = substr($sro, 10, 1); $this->paisOrigem = substr($sro, 11, 2); } else { throw new Exception('O número de objeto informado é inválido.'); } }
/** * Adiona um objeto a lista de objetos a serem pesquisados. * * @param string $objeto Objeto de rastreamento * @throws Exception */ public function addObjeto($objeto) { if (CorreiosSro::validaSro($objeto)) { $this->objetos[] = $objeto; } else { throw new Exception('O número de objeto informado é inválido.'); } }
echo '============================' . PHP_EOL; echo 'Exemplo de validação de SRO.' . PHP_EOL; echo '============================' . PHP_EOL; echo 'SRO....: SW592067296BR' . PHP_EOL; echo 'Válido.: ' . (CorreiosSro::validaSro('SW592067296BR') ? 'Sim' : 'Não') . PHP_EOL . PHP_EOL; } catch (Exception $e) { echo 'Ocorreu um erro: ' . $e->getMessage() . PHP_EOL . PHP_EOL; } try { echo '========================' . PHP_EOL; echo 'Exemplo de dados do SRO.' . PHP_EOL; echo '========================' . PHP_EOL; $dadosObjeto = new CorreiosSroDados('SW592067296BR'); echo 'SRO...................: ' . $dadosObjeto->getSro() . PHP_EOL; echo 'Sigla do serviço......: ' . $dadosObjeto->getSiglaTipoServico() . PHP_EOL; echo 'Descrição do serviço..: ' . $dadosObjeto->getDescricaoTipoServico() . PHP_EOL; echo 'Códido do objeto......: ' . $dadosObjeto->getCodigoObjeto() . PHP_EOL; echo 'Dígito verificador....: ' . $dadosObjeto->getDigitoVerificador() . PHP_EOL; echo 'País de origem........: ' . $dadosObjeto->getPaisOrigem() . PHP_EOL . PHP_EOL; } catch (Exception $e) { echo 'Ocorreu um erro: ' . $e->getMessage() . PHP_EOL . PHP_EOL; } try { echo '================================================' . PHP_EOL; echo 'Exemplo de geração de dígito verificador de SRO.' . PHP_EOL; echo '================================================' . PHP_EOL; echo 'Código.: 59206729' . PHP_EOL; echo 'Dígito.: ' . CorreiosSro::calculaDigitoVerificador('59206729') . PHP_EOL . PHP_EOL; } catch (Exception $e) { echo 'Ocorreu um erro: ' . $e->getMessage() . PHP_EOL . PHP_EOL; }