API Documentation

Zend/Service/Technorati.php

Show: inherited
Table of Contents

Zend Framework

LICENSE

This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Service  
Subpackage
Technorati  
Version
$Id: Technorati.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Service_Technorati

Package: Zend\Service\Technorati

Zend_Service_Technorati provides an easy, intuitive and object-oriented interface for using the Technorati API.

It provides access to all available Technorati API queries and returns the original XML response as a friendly PHP object.

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Constants

Constant  API_URI_BASE = 'http://api.technorati.com'

Base Technorati API URI

Constant  API_PATH_COSMOS = '/cosmos'

Query paths

Constant  API_PATH_SEARCH = '/search'
Constant  API_PATH_TAG = '/tag'
Constant  API_PATH_DAILYCOUNTS = '/dailycounts'
Constant  API_PATH_TOPTAGS = '/toptags'
Constant  API_PATH_BLOGINFO = '/bloginfo'
Constant  API_PATH_BLOGPOSTTAGS = '/blogposttags'
Constant  API_PATH_GETINFO = '/getinfo'
Constant  API_PATH_KEYINFO = '/keyinfo'
Constant  PARAM_LIMIT_MIN_VALUE = 1

Prevent magic numbers

Constant  PARAM_LIMIT_MAX_VALUE = 100
Constant  PARAM_DAYS_MIN_VALUE = 1
Constant  PARAM_DAYS_MAX_VALUE = 180
Constant  PARAM_START_MIN_VALUE = 1

Properties

Propertyprotectedstring  $_apiKey= ''

Technorati API key

Details
Type
string
Access
protected  
Propertyprotected\Zend_Rest_Client  $_restClient= ''

Zend_Rest_Client instance

Details
Type
\Zend_Rest_Client
Access
protected  

Methods

methodpublic__construct( string $apiKey ) : void

Constructs a new Zend_Service_Technorati instance and setup character encoding.

Parameters
Name Type Description
$apiKey string

Your Technorati API key

methodprotected_checkErrors( \DomDocument $dom ) : void
static

Checks XML response content for errors.

Parameters
Name Type Description
$dom \DomDocument

the XML response as a DOM document

Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
Link
Technorati API: Error response  
methodprotected_checkResponse( \Zend_Http_Response $response ) : void
static

Checks ReST response for errors.

Parameters
Name Type Description
$response \Zend_Http_Response

the ReST response

Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_compareOptions( array $options, array $validOptions ) : void

Checks whether user given options are valid.

Parameters
Name Type Description
$options array

user options

$validOptions array

valid options

Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_convertResponseAndCheckContent( \Zend_Http_Response $response ) : \DOMDocument

Converts $response body to a DOM object and checks it.

Parameters
Name Type Description
$response \Zend_Http_Response
Returns
Type Description
\DOMDocument
Throws
Exception Description
\Zend_Service_Technorati_Exception if response content contains an error message
Details
Access
protected  
methodprotected_makeRequest( string $path, array $options = array() ) : \Zend_Http_Response

Makes and HTTP GET request to given $path with $options.

HTTP Response is first validated, then returned.

Parameters
Name Type Description
$path string
$options array
Returns
Type Description
\Zend_Http_Response
Throws
Exception Description
\Zend_Service_Technorati_Exception on failure
Details
Access
protected  
methodprotected_prepareOptions( array $options, array $defaultOptions ) : array

Prepares options for the request

Parameters
Name Type Description
$options array

user options

$defaultOptions array

default options

Returns
Type Description
array Merged array of user and default/required options.
Details
Access
protected  
methodprotected_validateBlogInfo( array $options ) : void

Validates BlogInfo query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateBlogPostTags( array $options ) : void

Validates TopTags query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateCosmos( array $options ) : void

Validates Cosmos query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateDailyCounts( array $options ) : void

Validates DailyCounts query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateGetInfo( array $options ) : void

Validates GetInfo query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateInArrayOption( string $name, array $options, array $array ) : void

Checks whether an option is in a given array.

Parameters
Name Type Description
$name string

option name

$options array
$array array

array of valid options

Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateIntegerOption(  $name, array $options ) : void

Checks whether $name option is a valid integer and casts it.

Parameters
Name Type Description
$name
$options array
Details
Access
protected  
methodprotected_validateMandatoryOption(  $name, array $options ) : void

Checks whether mandatory $name option exists and it's valid.

Parameters
Name Type Description
$name
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateOptionClaim( array $options ) : void

Checks whether 'claim' option value is valid.

Parameters
Name Type Description
$options array
Details
Access
protected  
methodprotected_validateOptionFormat( array $options ) : void

Checks whether 'format' option value is valid.

Be aware that Zend_Service_Technorati supports only XML as format value.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception if 'format' value != XML
Details
Access
protected  
methodprotected_validateOptionLimit( array $options ) : void

Checks whether 'limit' option value is valid.

Value must be an integer greater than PARAM_LIMIT_MIN_VALUE and lower than PARAM_LIMIT_MAX_VALUE.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception if 'limit' value is invalid
Details
Access
protected  
methodprotected_validateOptionStart( array $options ) : void

Checks whether 'start' option value is valid.

Value must be an integer greater than 0.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception if 'start' value is invalid
Details
Access
protected  
methodprotected_validateOptionUrl( array $options ) : void

Checks whether 'url' option value exists and is valid.

'url' must be a valid HTTP(s) URL.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception if 'url' value is invalid
Details
Access
protected  
Todo
support for Zend_Uri_Http  
methodprotected_validateSearch( array $options ) : void

Validates Search query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateTag( array $options ) : void

Validates Tag query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodprotected_validateTopTags( array $options ) : void

Validates TopTags query options.

Parameters
Name Type Description
$options array
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Access
protected  
methodpublicblogInfo( string $url, array $options = null ) : \Zend_Service_Technorati_BlogInfoResult

BlogInfo provides information on what blog, if any, is associated with a given URL.

Parameters
Name Type Description
$url string

the URL you are searching for. Prefixes http:// and www. are optional. The URL must be recognized by Technorati as a blog.

$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_BlogInfoResult
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: BlogInfo Query reference  
methodpublicblogPostTags( string $url, array $options = null ) : \Zend_Service_Technorati_TagsResultSet

BlogPostTags provides information on the top tags used by a specific blog.

Query options include:

'limit' => (int) optional - adjust the size of your result from the default value of 20 to between 1 and 100 results. 'start' => (int) optional - adjust the range of your result set. Set this number to larger than zero and you will receive the portion of Technorati's total result set ranging from start to start+limit. The default start value is 1. Note. This property is not documented.

Parameters
Name Type Description
$url string

the URL you are searching for. Prefixes http:// and www. are optional. The URL must be recognized by Technorati as a blog.

$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_TagsResultSet
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: BlogPostTags Query reference  
methodpubliccosmos( string $url, array $options = null ) : \Zend_Service_Technorati_CosmosResultSet

Cosmos query lets you see what blogs are linking to a given URL.

On the Technorati site, you can enter a URL in the searchbox and it will return a list of blogs linking to it. The API version allows more features and gives you a way to use the cosmos on your own site.

Query options include:

'type' => (link|weblog) optional - A value of link returns the freshest links referencing your target URL. A value of weblog returns the last set of unique weblogs referencing your target URL. 'limit' => (int) optional - adjust the size of your result from the default value of 20 to between 1 and 100 results. 'start' => (int) optional - adjust the range of your result set. Set this number to larger than zero and you will receive the portion of Technorati's total result set ranging from start to start+limit. The default start value is 1. 'current' => (true|false) optional - the default setting of true Technorati returns links that are currently on a weblog's homepage. Set this parameter to false if you would like to receive all links to the given URL regardless of their current placement on the source blog. Internally the value is converted in (yes|no). 'claim' => (true|false) optional - the default setting of FALSE returns no user information about each weblog included in the result set when available. Set this parameter to FALSE to include Technorati member data in the result set when a weblog in your result set has been successfully claimed by a member of Technorati. Internally the value is converted in (int). 'highlight' => (true|false) optional - the default setting of TRUE highlights the citation of the given URL within the weblog excerpt. Set this parameter to FALSE to apply no special markup to the blog excerpt. Internally the value is converted in (int).

Parameters
Name Type Description
$url string

the URL you are searching for. Prefixes http:// and www. are optional.

$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_CosmosResultSet
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: Cosmos Query reference  
methodpublicdailyCounts(  $query, array $options = null ) : \Zend_Service_Technorati_DailyCountsResultSet

TopTags provides daily counts of posts containing the queried keyword.

Query options include:

'days' => (int) optional - Used to specify the number of days in the past to request daily count data for. Can be any integer between 1 and 180, default is 180

Parameters
Name Type Description
$query
$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_DailyCountsResultSet
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: DailyCounts Query reference  
methodpublicgetApiKey( ) : string

Returns Technorati API key.

Returns
Type Description
string Technorati API key
methodpublicgetInfo( string $username, array $options = null ) : \Zend_Service_Technorati_GetInfoResult

GetInfo query tells you things that Technorati knows about a member.

The returned info is broken up into two sections: The first part describes some information that the user wants to allow people to know about him- or herself. The second part of the document is a listing of the weblogs that the user has successfully claimed and the information that Technorati knows about these weblogs.

Parameters
Name Type Description
$username string

the Technorati user name you are searching for

$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_GetInfoResult
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: GetInfo reference  
methodpublicgetRestClient( ) : \Zend_Rest_Client

Returns a reference to the REST client object in use.

If the reference hasn't being inizialized yet, then a new Zend_Rest_Client instance is created.

Returns
Type Description
\Zend_Rest_Client
methodpublickeyInfo( ) : \Zend_Service_Technorati_KeyInfoResult

KeyInfo query provides information on daily usage of an API key.

Key Info Queries do not count against a key's daily query limit.

A day is defined as 00:00-23:59 Pacific time.

Returns
Type Description
\Zend_Service_Technorati_KeyInfoResult
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: Key Info reference  
methodpublicsearch( string $query, array $options = null ) : \Zend_Service_Technorati_SearchResultSet

Search lets you see what blogs contain a given search string.

Query options include:

'language' => (string) optional - a ISO 639-1 two character language code to retrieve results specific to that language. This feature is currently beta and may not work for all languages. 'authority' => (n|a1|a4|a7) optional - filter results to those from blogs with at least the Technorati Authority specified. Technorati calculates a blog's authority by how many people link to it. Filtering by authority is a good way to refine your search results. There are four settings: - n => Any authority: All results. - a1 => A little authority: Results from blogs with at least one link. - a4 => Some authority: Results from blogs with a handful of links. - a7 => A lot of authority: Results from blogs with hundreds of links. 'limit' => (int) optional - adjust the size of your result from the default value of 20 to between 1 and 100 results. 'start' => (int) optional - adjust the range of your result set. Set this number to larger than zero and you will receive the portion of Technorati's total result set ranging from start to start+limit. The default start value is 1. 'claim' => (true|false) optional - the default setting of FALSE returns no user information about each weblog included in the result set when available. Set this parameter to FALSE to include Technorati member data in the result set when a weblog in your result set has been successfully claimed by a member of Technorati. Internally the value is converted in (int).

Parameters
Name Type Description
$query string

the words you are searching for.

$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_SearchResultSet
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: Search Query reference  
methodpublicsetApiKey( string $key ) : void

Sets Technorati API key.

Be aware that this function doesn't validate the key. The key is validated as soon as the first API request is sent. If the key is invalid, the API request method will throw a Zend_Service_Technorati_Exception exception with Invalid Key message.

Parameters
Name Type Description
$key string

Technorati API Key

Details
Link
How to get your Technorati API Key  
methodpublictag( string $tag, array $options = null ) : \Zend_Service_Technorati_TagResultSet

Tag lets you see what posts are associated with a given tag.

Query options include:

'limit' => (int) optional - adjust the size of your result from the default value of 20 to between 1 and 100 results. 'start' => (int) optional - adjust the range of your result set. Set this number to larger than zero and you will receive the portion of Technorati's total result set ranging from start to start+limit. The default start value is 1. 'excerptsize' => (int) optional - number of word characters to include in the post excerpts. By default 100 word characters are returned. 'topexcerptsize' => (int) optional - number of word characters to include in the first post excerpt. By default 150 word characters are returned.

Parameters
Name Type Description
$tag string

the tag term you are searching posts for.

$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_TagResultSet
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: Tag Query reference  
methodpublictopTags( array $options = null ) : \Zend_Service_Technorati_TagsResultSet

TopTags provides information on top tags indexed by Technorati.

Query options include:

'limit' => (int) optional - adjust the size of your result from the default value of 20 to between 1 and 100 results. 'start' => (int) optional - adjust the range of your result set. Set this number to larger than zero and you will receive the portion of Technorati's total result set ranging from start to start+limit. The default start value is 1.

Parameters
Name Type Description
$options array

additional parameters to refine your query

Returns
Type Description
\Zend_Service_Technorati_TagsResultSet
Throws
Exception Description
\Zend_Service_Technorati_Exception
Details
Link
Technorati API: TopTags Query reference  
Documentation was generated by DocBlox 0.15.1.