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

}

[/php]

ShareFacebook.php
[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;
}

}

[/php]

index.php
[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();

[/php]

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 *