Recuperar quantidade compartilhamento no Facebook

Nessa aula mostro como recuperar informações de URL no facebook, com isso falo sobre classe abstrata, classe especialista, métodos abstratos.

Códigos Criados:

ShareNetWork.php

< ?php 

	abstract class ShareNetWork{
		protected $url;
		protected $server;
		
		public function setUrl($url){
			$this->url = $url;
		}
		
		public function setServer($server){
			$this->server = $server;
		}
		
		protected function accessServer($url){
			$ch = curl_init($url);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			$result = curl_exec($ch);
			curl_close($ch);
			return $result;			
		}
		
		abstract protected function populate($obj);
		
		abstract public function execute();		
		
		
	}

ShareFacebook.php

< ?php
	
	class ShareFacebook extends ShareNetWork{
		private $shareCount;
		private $likeCount;
		private $clickCount;
		
		public function __construct($url){
			$this->setUrl($url);
			$this->setServer('http://api.facebook.com/restserver.php?method=links.getStats&urls=%s');
		}
		
		public function execute(){
			$url = sprintf($this->server, $this->url);
			$data = $this->accessServer($url);
			$obj  = simplexml_load_string($data);
			$this->populate($obj);
			return $this;			
		}
		
		protected function populate($obj){
			$this->shareCount = $obj->link_stat->share_count;
			$this->likeCount = $obj->link_stat->like_count;
			$this->clickCount = $obj->link_stat->click_count;
		}
		
		public function getShareCount(){
			return $this->shareCount;
		}
		
		public function getLikeCount(){
			return $this->likeCount;
		}
		
		public function getClickCount(){
			return $this->clickCount;
		}
		
		
		
	}
	

index.php

< ?php 

	include('lib/ShareNetWork.php');
	include('lib/ShareFacebook.php');
	
	$facebook = new ShareFacebook('http://www.mxmasters.com.br/aulasonline/instalando-wordpress-no-mamp/');
	$facebook->execute();
	echo 'Total de Compartilhamento :'.$facebook->getShareCount();
	
	echo '<br /> Total de Joinha :'.$facebook->getLikeCount();




Se o conteúdo foi relevante para você, e desejar, você pode incentivar fazendo uma doação.

4 thoughts on “Recuperar quantidade compartilhamento no Facebook

  1. Ola, Davi, fiz o mesmo processo que você fez, mas a pagina retorna esse erro Fatal error: Call to undefined function curl_init() in C:\wamp\www\gti\index2.php on line 169 e não mostra nada estou testando no servidor local a linha 169 tem esse código: protected function accessServer($url){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
    }
    saberia me dizer pq ele não encontrar essa função?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *