Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tocho

Classe para cálculo do SEDEX e PAC

Recommended Posts

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?";
			$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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico movido

 

Origem: Programação » PHP

Destino: Programação » PHP » Laboratório de scripts (PHP)

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?";
			$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

 

Bom dia vi que ja tem um tempo que você postou este cod, mais teria como você deixar um exemplo de uso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O uso está ali amigo:

$frete = new Frete("05046-001", "2");
        var_dump($frete->getFrete());
basta você manipular o array que é retornado por $frete->getFrete().

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.