Service/Technorati.php
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 [email protected] 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 24593 2012-01-05 20:35:02Z matthew $
\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
Properties


\Zend_Rest_Client $_restClient =
Zend_Rest_Client instance
- Type
- \Zend_Rest_Client
- Access
- protected
Methods


__construct(string $apiKey) : void
Constructs a new Zend_Service_Technorati instance and setup character encoding.
Name | Type | Description |
---|---|---|
$apiKey | string | Your Technorati API key |


_checkErrors(\DomDocument $dom) : void
Checks XML response content for errors.
Name | Type | Description |
---|---|---|
$dom | \DomDocument | the XML response as a DOM document |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected
- Link
- Technorati API: Error response


_checkResponse(\Zend_Http_Response $response) : void
Checks ReST response for errors.
Name | Type | Description |
---|---|---|
$response | \Zend_Http_Response | the ReST response |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_compareOptions(array $options, array $validOptions) : void
Checks whether user given options are valid.
Name | Type | Description |
---|---|---|
$options | array | user options |
$validOptions | array | valid options |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_convertResponseAndCheckContent(\Zend_Http_Response $response) : \DOMDocument
Converts $response body to a DOM object and checks it.
Name | Type | Description |
---|---|---|
$response | \Zend_Http_Response |
Type | Description |
---|---|
\DOMDocument |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception | if response content contains an error message |
- Access
- protected


_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.
Name | Type | Description |
---|---|---|
$path | string | |
$options | array |
Type | Description |
---|---|
\Zend_Http_Response |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception | on failure |
- Access
- protected


_prepareOptions(array $options, array $defaultOptions) : array
Prepares options for the request
Name | Type | Description |
---|---|---|
$options | array | user options |
$defaultOptions | array | default options |
Type | Description |
---|---|
array | Merged array of user and default/required options. |
- Access
- protected


_validateBlogInfo(array $options) : void
Validates BlogInfo query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateBlogPostTags(array $options) : void
Validates TopTags query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateCosmos(array $options) : void
Validates Cosmos query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateDailyCounts(array $options) : void
Validates DailyCounts query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateGetInfo(array $options) : void
Validates GetInfo query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateInArrayOption(string $name, array $options, array $array) : void
Checks whether an option is in a given array.
Name | Type | Description |
---|---|---|
$name | string | option name |
$options | array | |
$array | array | array of valid options |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateIntegerOption( $name, array $options) : void
Checks whether $name option is a valid integer and casts it.
Name | Type | Description |
---|---|---|
$name | ||
$options | array |
- Access
- protected


_validateMandatoryOption( $name, array $options) : void
Checks whether mandatory $name option exists and it's valid.
Name | Type | Description |
---|---|---|
$name | ||
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateOptionClaim(array $options) : void
Checks whether 'claim' option value is valid.
Name | Type | Description |
---|---|---|
$options | array |
- Access
- protected


_validateOptionFormat(array $options) : void
Checks whether 'format' option value is valid.
Be aware that Zend_Service_Technorati supports only XML as format value.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception | if 'format' value != XML |
- Access
- protected


_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.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception | if 'limit' value is invalid |
- Access
- protected


_validateOptionStart(array $options) : void
Checks whether 'start' option value is valid.
Value must be an integer greater than 0.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception | if 'start' value is invalid |
- Access
- protected


_validateOptionUrl(array $options) : void
Checks whether 'url' option value exists and is valid.
'url' must be a valid HTTP(s) URL.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception | if 'url' value is invalid |
- Access
- protected
- Todo
- support for Zend_Uri_Http


_validateSearch(array $options) : void
Validates Search query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateTag(array $options) : void
Validates Tag query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


_validateTopTags(array $options) : void
Validates TopTags query options.
Name | Type | Description |
---|---|---|
$options | array |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |
- Access
- protected


blogInfo(string $url, array $options = null) : \Zend_Service_Technorati_BlogInfoResult
BlogInfo provides information on what blog, if any, is associated with a given URL.
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 |
Type | Description |
---|---|
\Zend_Service_Technorati_BlogInfoResult |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


blogPostTags(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.
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 |
Type | Description |
---|---|
\Zend_Service_Technorati_TagsResultSet |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


cosmos(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).
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 |
Type | Description |
---|---|
\Zend_Service_Technorati_CosmosResultSet |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


dailyCounts( $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
Name | Type | Description |
---|---|---|
$query | ||
$options | array | additional parameters to refine your query |
Type | Description |
---|---|
\Zend_Service_Technorati_DailyCountsResultSet |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


getInfo(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.
Name | Type | Description |
---|---|---|
$username | string | the Technorati user name you are searching for |
$options | array | additional parameters to refine your query |
Type | Description |
---|---|
\Zend_Service_Technorati_GetInfoResult |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


getRestClient() : \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.
Type | Description |
---|---|
\Zend_Rest_Client |


keyInfo() : \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.
Type | Description |
---|---|
\Zend_Service_Technorati_KeyInfoResult |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


search(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).
Name | Type | Description |
---|---|---|
$query | string | the words you are searching for. |
$options | array | additional parameters to refine your query |
Type | Description |
---|---|
\Zend_Service_Technorati_SearchResultSet |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


setApiKey(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.
Name | Type | Description |
---|---|---|
$key | string | Technorati API Key |


tag(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.
Name | Type | Description |
---|---|---|
$tag | string | the tag term you are searching posts for. |
$options | array | additional parameters to refine your query |
Type | Description |
---|---|
\Zend_Service_Technorati_TagResultSet |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |


topTags(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.
Name | Type | Description |
---|---|---|
$options | array | additional parameters to refine your query |
Type | Description |
---|---|
\Zend_Service_Technorati_TagsResultSet |
Exception | Description |
---|---|
\Zend_Service_Technorati_Exception |