Amigos,
Inclui a class abaixo em Bibliotecas, adicionei a biblioteca a aplicação e chamo com sc_include(“Correios_frete.php”);
Ao executar a aplicação recebo o erro: Parse error: syntax error, unexpected ‘;’, expecting T_FUNCTION in C:\Program Files (x86)\NetMake\v5\wwwroot\scriptcase\app\ACF\blank_1\Correios_frete.php on line 86
A ultima linha da classe é 85, não estou conseguindo identificar o erro.
Algum dos amigos tem alguma dica?
Grato
<?php /** * Classe que retorna os fretes do webservice dos correios * @Author Luan Garcia **/ Class Correios_frete extends Object{ const PAC = 41106; const SEDEX = 40010; const SEDEX10 = 40215; private $url = 'http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?'; private $origem = '05428020'; public $tipos = array('PAC'=> 41106,'SEDEX'=> 40010,'SEDEX10'=> 40215); private $campos = array( "nCdEmpresa" => NULL,//codigo da empresa se tiver afiliacao com os correios "sDsSenha" => NULL,//senha da afiliacao, "nCdServico" => NULL,//servico sedex,sedex10,pac "sCepOrigem" => NULL,//origem do frete "sCepDestin" => NULL,//destino do pedido "nVlPeso" => NULL,//peso do pedido 0.3 para 300 gramas max 30kg "nCdFormato" => "1", //formato do pacote, caixa,envelope etc, "nVlComprimento" => "26", //comprimento do pacote, "nVlAltura" => "16", //altura do pacote, "nVlLargura" => "9", //largura do pacote, "nVlDiametro" => "0", //diametro do pacote, "sCdMaoPropria" => "N",//entregar somente em mao propria "nVlValorDeclarado" => 0,//declarar valor do pedido "sCdAvisoRecebimento" => "N", //aviso de recebimento, "StrRetorno" => "XML" ); /** * Seta os valores da origem do frete e url (opicional) * @param String $origem cep de origem * @url String url dos correios em caso de atualizacao (opcional) */ function __construct($origem, $url = false){ $this->origem = $origem; if($url){ $this->url = $url; } } /** * Retorna o valor e o prazo dos serviços dos correios (PAC,SEDEX e SEDEX10) * @param String $cep cep do destino * @param Int $peso peso da compra * @param Int $servico tipo de entrega (PAC,SEDEX e SEDEX10) se não passar valor retornar todos os meios de entrega; * @return Array **/ public function consultarFrete($cep, $peso, $servico = false){ $cep = preg_replace("/[^0-9]+/","", $cep); $this->campos['nVlPeso'] = $peso; $this->campos['sCepDestino'] = $cep; $this->campos['sCepOrigem'] = $this->origem; if(!$servico){ foreach($this->tipos as $valor){ $this->campos['nCdServico'] = $valor; $args = http_build_query($this->campos); $retorno[] = Set::reverse(new Xml(file_get_contents($this->url . $args))); } }else{ if(is_numeric($servico)){ $this->campos['nCdServico'] = $servico; }else{ $this->campos['nCdServico'] = $this->tipos[strtoupper($servico)]; } $args = http_build_query($this->campos); $retorno = Set::reverse(new Xml(file_get_contents($this->url . $args))); } //se houver erro retorna o metodo retorna false if($frete['cServico'][0]['Erro']!="0"){ $retorno = false; } return $retorno; } ?>