Ir para conteúdo
Fórum Script Brasil
  • 0

testando API do twitter


Davi Reinoldo

Pergunta

Boa tarde galera! Sou novo aqui no php!

Estou brincando com a API do twitter.

meu codigo tem um formulario, que atraves de um nome de usuário qualquer busca 10 seguidores, 10 pessoas que ele segue, alguns dados sobre ele como nome, numero total de seguidores... quando clica em qualquer 1 usuario que aparece, ele pega os 10 ultimos twitts daquele usuário...

o código esta bem simples, estou lendo sobre orientação a objeto, mas ainda não esta claro para mim.

gostaria de saber alguma dica para que eu possa criar classes para este meu código, para que ele fique bunitinho e eu possa usar em meu blog!

estou fazendo um CSS para ele agora que esta feio.

index.php
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Twitter</title>
    </head>
    <body>
        <form action="?"  method="POST">
            <fieldset>
               <legend>Screen name do usuário:</legend>
                  <input type="text" id="nome" name="nome" />
                  <input type="submit" name="buscar" value="Pesquisar" />
            </fieldset>
        </form>
        <?php

        if(@$_POST['nome'] === null){
        } else   {
        include_once 'index.class.php';
        $name = @$_POST["nome"];
        $Index = new Index();
        $Index->Infos(@$usuario);
        echo "<div id='segue' align='left'>";
        $mensUsuariosSegue = "http://twitter.com/statuses/friends/".$name.".xml";
        $menUsSegue = file_get_contents($mensUsuariosSegue);
        $doc = new DOMDocument('1.0', 'iso-8859-1');
        $doc->loadXML($menUsSegue);
        echo "<h1>Following</h1><br />";
        for($x=0;$x<20;$x++){
        $data = $doc->getElementsByTagName('created_at')->item($x)->nodeValue;
        $text = $doc->getElementsByTagName('text')->item($x)->nodeValue;
        $tag_source = $doc->getElementsByTagName('source')->item($x)->nodeValue;
        $tagUser= $doc->getElementsByTagName('user')->item($x);
        $url = $tagUser->getElementsByTagName('profile_image_url')->item(0)->nodeValue;
        $name_screen = $tagUser->getElementsByTagName('screen_name')->item(0)->nodeValue;
        echo "<a href='twitts.php?nome=$name_screen'><img src=$url alt=$name_screen /> @".$name_screen."</a><br />";
        echo $text."<br />";
        echo $data." ".$tag_source."<br /><br />";
        }
        echo "</div>";
        echo "<div id='seguidores' align='seguidores'>";
        $mensSeguidores = "http://twitter.com/statuses/followers/".$name.".xml";
        $menSegui = file_get_contents($mensSeguidores);
        $doc = new DOMDocument('1.0', 'iso-8859-1');
        $doc->loadXML($menSegui);
        echo "<h1>Followers</h1><br />";
        for($x=0;$x<20;$x++){
        $data = $doc->getElementsByTagName('created_at')->item($x)->nodeValue;
        $text = $doc->getElementsByTagName('text')->item($x)->nodeValue;
        $tag_source = $doc->getElementsByTagName('source')->item($x)->nodeValue;
        $tagUser= $doc->getElementsByTagName('user')->item($x);
        $url = $tagUser->getElementsByTagName('profile_image_url')->item(0)->nodeValue;
        $name_screen = $tagUser->getElementsByTagName('screen_name')->item(0)->nodeValue;
        echo "<a href='twitts.php?nome=$name_screen'><img src=$url alt=$name_screen /> @".$name_screen."</a><br />";
        echo $text."<br />";
        echo $data." ".$tag_source."<br /><br />";
        }
        echo "<div/>";
        }
        ?>
    </body>
</html>
index.class.php
<?php
    class Index{
        public $usuario;
        public function Infos($usuario){
        $name = @$_POST["nome"];
        $request = "http://twitter.com/users/show?screen_name=".$name;
        $xml = file_get_contents($request);
        $doc = new DOMDocument('1.0', 'iso-8859-1');
        $doc->loadXML($xml);
        $imagem = $doc->getElementsByTagName('profile_image_url')->item(0)->nodeValue;
        $screen_name = $doc->getElementsByTagName('screen_name')->item(0)->nodeValue;
        $followers = $doc->getElementsByTagName('followers_count')->item(0)->nodeValue;
        $friends = $doc->getElementsByTagName('friends_count')->item(0)->nodeValue;
    }

        print "<br/><center><a href='twitts.php?nome=$screen_name'><img src=$imagem alt=$screen_name /><br/>";
        print "<b>".$screen_name."</a></b><br/>";
        print "Following ".$friends." e Followers ".$followers;
        print "<br /><br /></center>";
  
    }
    }
?>
twitts.php
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Twitter</title>
    </head>

    <body>
        <a href="index.php"><b>Voltar</b></a>
        <br />
        <br />
        <br />
        <div id="usuario">
        <?php
        include_once 'twitts.class.php';
        $UltTwitts = new UltTwitts();
        $UltTwitts->Pegar(@$twitts);
        
        ?>
        </div>

    </body>
</html>
twitts.class.php
<?php
    class UltTwitts{
        public $twitts;
        public function Pegar($twitts){
        $url = "http://twitter.com/statuses/user_timeline/".$_GET['nome'].".xml";
        $xml = file_get_contents($url);
        $doc = new DOMDocument('1.0', 'iso-8859-1');
        $doc->loadXML($xml);
        for($x=0;$x<19;$x++){
        $data = $doc->getElementsByTagName('created_at')->item($x)->nodeValue;
        $text = $doc->getElementsByTagName('text')->item($x)->nodeValue;
        $tag_source = $doc->getElementsByTagName('source')->item($x)->nodeValue;
        $tagUser= $doc->getElementsByTagName('user')->item(0);
        $url = $tagUser->getElementsByTagName('profile_image_url')->item(0)->nodeValue;
        $name_screen = $tagUser->getElementsByTagName('screen_name')->item(0)->nodeValue;
        echo "<img src=$url alt=$name_screen /> @".$name_screen."<br />";
        echo $text."<br />";
        echo $data." ".$tag_source."<br /><br />";
        }
    } 
    }
?>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...