ホーム > タグ > API

API

yahoo経由でamazonを検索する(rhacoネタ)

yahoo経由でamazonを検索するものを作りました。
それどこのYasazon – ヤサゾン?という感じで、完全に劣化コピーです、はい笑
いちおうAutoPagerize対応してますので、マウスくりくりで次ページのものがくっつきます。
それでYahoo!ウェブ検索APIをrhacoで使用するためのクラスがこちら。

<?php
Rhaco::import("network.http.ServiceRestAPIBase");

class yahooSearchApi extends ServiceRestAPIBase{
	var $appid;
	var $url;
	var $type='all';
	var $results=10;
	var $start=1;
	var $format='any';//any(デフォルト), html, msword, pdf, ppt, rss, txt, xls
	var $adult_ok='0';//値なし(デフォルト), 1
	var $similar_ok='0';//値なし(デフォルト), 1
	var $language='ja';//ja(デフォルト)
	var $country='0';//値なし(デフォルト)
	var $site='0';//値なし(デフォルト)
	
	/**
	 * コンストラクタ
	 *
	 * @param unknown_type $key
	 * @return yahooSearchApi
	 */
	function yahooSearchApi($key){
		parent::ServiceRestAPIBase();
		$this->url = "http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch";
		$this->appid = $key;
	}
	
	function search($keyword){
		
		$hash = array(
		"query"  => $keyword,
		"type" => $this->type,
		"results" => $this->results,
		"start" => $this->start,
		"format" => $this->format,
		"adult_ok" => $this->adult_ok,
		"similar_ok" => $this->similar_ok,
		"language" => $this->language,
		"country" => $this->country,
		"site" => $this->site
		);

		$pTag = new SimpleTag();
		$pTag->set($this->get($hash));
		return $pTag->toHash();
	}
	
	function buildUrl($hash){
		return parent::buildUrl($hash,array("appid"=>$this->appid));
	}
	
	/**
	 * アダルトOK
	 *
	 * @param int $adult_ok
	 */
	public function setAdult_ok($adult_ok) {
		$this->adult_ok = $adult_ok;
	}
	/**
	 * アダルトOK
	 *
	 * @return unknown
	 */
	public function getAdult_ok() {
		return $this->adult_ok;
	}
	/**
	 * 国別(日本jpn)
	 *
	 * @param unknown_type $country
	 */
	public function setCountry($country) {
		$this->country = $country;
	}
	/**
	 * 国別
	 *
	 * @return unknown
	 */
	public function getCountry() {
		return $this->country;
	}
	/**
	 * フォーマット(html, msword, pdf, ppt, rss, txt, xls)
	 *
	 * @param unknown_type $format
	 */
	public function setFormat($format) {
		$this->format = $format;
	}
	/**
	 * フォーマット
	 *
	 * @return unknown
	 */
	public function getFormat() {
		return $this->format;
	}
	/**
	 * 使用言語(ja)
	 *
	 * @param unknown_type $language
	 */
	public function setLanguage($language) {
		$this->language = $language;
	}
	/**
	 * 使用言語
	 *
	 * @return unknown
	 */
	public function getLanguage() {
		return $this->language;
	}
	/**
	 * 出力件数
	 *
	 * @param unknown_type $results
	 */
	public function setResults($results) {
		$this->results = $results;
	}
	/**
	 * 出力件数
	 *
	 * @return unknown
	 */
	public function getResults() {
		return $this->results;
	}
	/**
	 * 同じコンテンツを別の検索結果とするかどうか
	 *
	 * @param unknown_type $similar_ok
	 */
	public function setSimilar_ok($similar_ok) {
		$this->similar_ok = $similar_ok;
	}
	/**
	 * 同じコンテンツを別の検索結果とするかどうか
	 *
	 * @return unknown
	 */
	public function getSimilar_ok() {
		return $this->similar_ok;
	}
	/**
	 * 検索対象サイト
	 *
	 * @param unknown_type $site
	 */
	public function setSite($site) {
		$this->site = $site;
	}
	/**
	 * 検索対象サイト
	 *
	 * @return unknown
	 */
	public function getSite() {
		return $this->site;
	}
	/**
	 * 何ページ目を表示
	 *
	 * @param unknown_type $start
	 */
	public function setStart($start) {
		$this->start = $start;
	}
	/**
	 * 何ページ目を表示
	 *
	 * @return unknown
	 */
	public function getStart() {
		return $this->start;
	}
	/**
	 * 検索の仕方(all, any, phrase)
	 *
	 * @param unknown_type $type
	 */
	public function setType($type) {
		$this->type = $type;
	}
	/**
	 * 検索の仕方
	 *
	 * @return unknown
	 */
	public function getType() {
		return $this->type;
	}

}

?>

パラメータが多くてsetter/getterを作るのがめんどいなあと思ったのですが、setter/getterをオートで入れてくれるeclipseプラグインを見つけてさくっと作ることが出来ました。

setter/getterをオートで入れるっていうのは上記ツールの機能のほんの一部でしかないような気がしますが・・・。

Home > Tags > API

Search
Feeds
Meta

Return to page top