Classe para cálculo do SEDEX e PAC
Vou compartilhar com vocês uma classe que fiz para calcular o SEDEX e PAC. Deve servir para alguém estudar um pouco.
/*
* Classe responsável por calcular o FRETE e PAC
* by MaiconC2
* maiconcarlos[arroba]gmail[dot]com
*/
class Frete {
private $cepOrigem = "86860-000";
private $url;
private $frete = array();
/*
* O construtor recebe o Cep Destino e o Peso, que deve ser da seguinte forma:
* 1 = 1kg - 2 = 2kg ....
*/
public function __construct($cepDestino, $peso) {
$this->url = "[https://pagseguro.uol.com.br/CalculaFrete.aspx?";](https://pagseguro.uol.com.br/CalculaFrete.aspx?)
$this->url .= "CepOrigem=".$this->cepOrigem;
$this->url .= "&Peso=".$peso;
$this->url .= "&Valor=0,00";
$this->url .= "&CepDestino=".$cepDestino;
$html = file_get_contents($this->url); // Obtêm o HTML
$pattern = "@([0-9]+,[0-9]{2})@"; // Pega valores decimais com até 2 casas após a vírgula
preg_match_all($pattern, $html, $matches); // Retira do HTML só o valor do Sedex e PAC
// Salva no array o valor do Frete e do Sedex
$this->frete['sedex'] = $matches[0][1];
$this->frete['pac'] = $matches[0][2];
}
/*
* Retorna um array com o valor do Sedex e PAC
*/
public function getFrete() {
return $this->frete;
}
}
$frete = new Frete("05046-001", "2");
var_dump($frete->getFrete());Também aceito sugestões de melhorias, esse é o propósito. ABS
Discussão (3)
Carregando comentários...