YouTubeのサムネイルを自社サイトへ貼り付ける

CakePHP
YouTubeに検索キーワードを投げて、結果としてタイトルやサムネイルを取得するコンポーネント
作ってみた。

XMLで返って来るので、simplexml_load_fileでパースすれば特に難しいこともなかったです。

<?php

define('YOUTUBE_LOGIN_ID','*****');
define('YOUTUBE_LOGIN_PASS','*****');
define('YOUTUBE_API_URL','http://gdata.youtube.com/feeds/api/videos?');

class YoutubeComponent extends Object{

	function select_data($keyword){

		$youtube_data = array();

		$url = YOUTUBE_API_URL.'vq='.$keyword.''.'&max-results=4';

		$xml = simplexml_load_file($url)
  						or die("XMLパースエラー");

		$a = 1;
		foreach ($xml->entry as $entry) {
			//echo $entry->title;
		  $media = $entry->children('http://search.yahoo.com/mrss/');

		  $title = $entry->title;

		  //ページURLを取得
		  $attrs = $media->group->player->attributes();
		  $youtube = $attrs['url'];

		  //サムネイルを取得
		  $attrs = $media->group->thumbnail[0]->attributes();
		  $thumbnail = $attrs['url'];

		  //結果を出力
		  $youtube_data[$a]['title'] =$title;
		  $youtube_data[$a]['youtube']=$youtube;
		  $youtube_data[$a]['thumbnail']=$thumbnail;

		  $a = $a + 1;
		}
		return $youtube_data;
	}

}

使い方は言わずもがな

$youtube = $this->Youtube->select_data($keywords);
$this->set('youtube',$youtube);