Archive for the ‘ Diversidade ’ Category

Listando vídeos do YouTube com PHP

Neste pequeno artigo irei disponibilizar esta classe bem simples para listar os vídeos de um determinado usuário através dos feeds do YouTube.

Para que a classe funcione, é necessário que as extensões cURL e SimpleXML estejam habilitadas no seu servidor apache. Eis o código da classe:


<?php

/**
 * Class YT_Video
 * Get an array of the most recent videos of the specified username
 *
 * @abstract
 * @example $videos = YT_Videos::getUserVideos('username');
 */
abstract class YT_Videos
{
    /**
     * @var string URL to youtube feeds
     * @static URL of youtube feeds
     */
    private static $youtube_feedUrl = 'http://gdata.youtube.com/feeds/base/users/%s/uploads?orderby=updated&v=2';

    /**
     * @static
     * @method array getUserVideos($username) Get the videos from $username
     * @return array Returns an array of videos
     * @return NULL Returns NULL if the user does not exists
     */
    public static function getUserVideos($username)
    {
        $cURL = curl_init(sprintf(self::$youtube_feedUrl, $username));
        curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
        $cURL_result = curl_exec($cURL);
        curl_close($cURL);

        $xml = new SimpleXMLElement($cURL_result);

        if($xml->getName() == 'erros') { return NULL; }

        $videos = array();
        foreach($xml->entry as $video)
        {
            /*
             * Separa a URL para pegar o id do vídeo
             */
            $url = (string)$video->link['href'];
            parse_str(parse_url($url, PHP_URL_QUERY), $params);
            $id = $params['v'];

            /*
             * Preenche um array com os dados do vídeo
             */
            $videos[] = array(
                'id'    => $id,
                'title' => (string)$video->title,
                'thumb' => 'http://i' . rand(1, 4) . '.ytimg.com/vi/' . $id . '/hqdefault.jpg',
                'url'   => $url
            );
        }

        return $videos;
    }
}

?>

Agora para usar a classe é incluir ela e chamar de forma estática o método “getUserVideos”. Veja o exemplo:

...
$videos = YT_Videos::getUserVideos('andreoav');
// Este teste verifica se o usuário existe, já que o método retorna NULL caso usuário não exista, ou que algum outro erro tenha acontecido.
if(!$videos)
{
    // Listamos os videos aqui.
}

Espero que tenham gostado!!

Este método é uma implementação em forma de classe baseado no post do Thiago Belem.

Bateria infinita para o seu Notebook

Via [Num Clique]

Mapas Holográficos

Você já pensou como seria olhar para um mapa e obter uma visualização 3D? Pois isto já não é uma realidade tão distante, pelo menos é o que promete a empresa Zebra Imaging que usa combinação de ponta de laser, ótica e tecnologia de processamento de imagem que permite a criação de visualizações 3D realistas holográficas em um formato que pode ser enrolado e transportado.

Continue lendo

Projeção 3D incrível em um prédio na Ucrânia

Assista até o fim… o primeiro minuto é sem graça, mas depois vale a pena!!

A evolução dos controles de videogame

Via [NumClique]

Heróis em formato minimalista

Será que você consegue identificar todos?? Clique para ler todo o post, as respostas estão no fim.

Continue lendo