Categorias:

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();

4 comentários em “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 *