PHP  »  Articoli  »  Programmazione Php 

Twitter e PHP: una classe per interagire

di: Claudio Garau     19 Marzo 2010

Nel corso della prima parte di questo articolo è stato affrontato l'argomento relativo alla creazione di una classe realizzata in PHP per l'interazione con il servizio di microblogging Twitter; sono state descritte le procedure necessarie per l'implementazione dei metodi di autenticazione sulla piattaforma e di inserimento di post per il proprio account.

In questa seconda parte verranno sviluppati i metodi per la creazione della lista dei tweet pubblicati e per il conteggio e la visualizzazione dei propri follower.

Visualizzazione dei tweet

Il metodo per la visualizzazione dei tweet pubblicati interrogherà il file user_timeline.xml che Twitter mette a disposizione per mostrare gli ultimi 20 post pubblicati dal proprietario di un determinato account.

Al metodo verranno passati tre parametri:

  1. $num_tweet: ad essa può essere associato un valore numerico intero che rappresenta il numero massimo dei post da stampare;
  2. tagliatweet: se ad essa si associa il valore "1", verranno mostrati al massimo il numero di caratteri definito dal parametro successivo, il valore "0" permetterà di disattivarla;
  3. $num_caratteri: definisce il numero massimo di caratteri da mostrare per ogni post.

Di seguito verrà proposto il codice per l'implementazione del metodo, seguirà un approfondimento delle istruzioni in esso presenti:

// metodo per la visualizzazione dei tweet
public function mostra_tweet($num_tweet, $tagliatweet, $num_caratteri) {
    // inizializzazione della sessione cURL
    $sessione = curl_init();
    // chiamata al metodo per l'autenticazione
    $autenticazione = $this->autenticazione;
    // file sorgente remoto
    $sorgente = "http://www.twitter.com/statuses/user_timeline.xml";
    
    # opzioni di sessione
    // URL del sorgente
    curl_setopt($sessione, CURLOPT_URL, $sorgente);
    // connessione al sorgente
    curl_setopt($sessione, CURLOPT_USERPWD, $autenticazione);
    // regola per il trasferimento
    curl_setopt($sessione, CURLOPT_RETURNTRANSFER, TRUE);
    
    // esecuzione delle istruzioni di sessione
    $visualizza = curl_exec($sessione);
    // inizializzazione dell'oggetto SimpleXMLElement
    $twitters = new SimpleXMLElement($visualizza);
    
    // ciclo per la visualizzazione
    $conta_tweet = 0;
    foreach($twitters->status as $value) {
        $sorgente = "http://www.twitter.com/". $this->utente ."/statuses/". $value->id;
        // estrazione del dato relativo alla data del post
        $data_tweet = str_replace(" +0000","",$value->created_at);
        $data_tweet = substr($data_tweet,4,20);
        // visualizzazione dei tweet sulla base del valore di $num_tweet
        if (++$conta_tweet > $num_tweet) {
            break;
        } else {
            // visualizzazione dei caratteri dei tweet sulla base del valore di $num_caratteri
            if ($tagliatweet) {
                if (strlen($value->text) > $num_caratteri) {
                    $tweet = substr($value->text, 0 , $num_caratteri)."...";
                } else {
                    $tweet = substr($value->text, 0 , $num_caratteri);
                }
                
                // stampa a video dei risultati
                echo $tweet . "<br />Pubblicato il: " .$data_tweet. "<br />\n";
            }
        }
    }
    
}

Si analizzi il codice proposto:

  • viene definito un metodo (mostra_tweet()) con visibilità public e con esso le variabili che dovranno essere passate come parametri;
  • viene inizializzata la sessione cURL, a cui fa seguito la chiamata del metodo per l'autenticazione;
  • viene memorizzata la variabile relativa al file XML da interrogare;
  • vengono definite ed eseguite le opzioni di sessione per l'accesso all'URL sorgente e per le regole di trasferimento dei dati;
  • viene inizializzato l'oggetto SimpleXMLElement per il parsing (apertura e lettura) del sorgente XML;
  • si utilizza un ciclo foreach per la visualizzazione dei dati ricavati dal sorgente;
  • viene mostrato soltanto il numero di post definito dal valore associato alla variabile $num_tweet, anche se i post sono in numero superiore al valore della variabile;
  • viene mostrato soltanto il numero di caratteri definito dalla variabile $num_caratteri", tweet più lunghi verranno tagliati e saranno aggiunti dei puntini di sospensione al posto dei caratteri mancanti.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti