Property | Type | Description | |
---|---|---|---|
$URL_BASE | |||
$avgElapsed | integer | Reset to zero after each call to statusUpdate() Highest value it should ever reach is $this->avgPeriod | |
$avgPeriod | |||
$buff | |||
$conn | |||
$connectFailuresMax | Config type vars - override in subclass if desired | ||
$connectTimeout | |||
$count | |||
$enqueueSpent | float | Total number of seconds (fractional) spent in the enqueueStatus() calls (i.e. the customized function that handles each received tweet). | |
$enqueueTimeMS | float | Simply: enqueueSpent divided by statusCount Note: by default, calculated fresh for past 60 seconds, every 60 seconds. | |
$fdrPool | |||
$filterChanged | State vars | ||
$filterCheckCount | integer | By default it is called every 5 seconds, so if doing statusUpdates every 60 seconds and then resetting it, this will usually be 12. | |
$filterCheckMin | |||
$filterCheckSpent | float | Total number of seconds (fractional) spent in the checkFilterPredicates() calls | |
$filterCheckTimeMS | float | Like $enqueueTimeMS but for the checkFilterPredicates() function. | |
$filterUpdMin | |||
$followIds | @see http://dev.twitter.com/pages/streaming_api_methods#count | ||
$format | |||
$hostPort | |||
$httpBackoff | |||
$httpBackoffMax | |||
$idlePeriod | integer | Number of seconds since the last tweet arrived (or the keep-alive newline) | |
$idleReconnectTimeout | |||
$lastErrorMsg | |||
$lastErrorNo | |||
$locationBoxes | |||
$maxIdlePeriod | integer | The maximum value $this->idlePeriod has reached. | |
$method | |||
$password | |||
$readTimeout | |||
$reconnect | |||
$secureHostPort | |||
$statusCount | integer | Note: by default this is the sum for last 60 seconds, and is therefore reset every 60 seconds. To change this behaviour write a custom statusUpdate() function. | |
$statusRate | integer | The number of tweets received per second in previous minute; calculated fresh just before each call to statusUpdate() I.e. if fewer than 30 tweets in last minute then this will be zero; if 30 to 90 then it will be 1, if 90 to 150 then 2, etc. | |
$status_length_base | |||
$tcpBackoff | |||
$tcpBackoffMax | |||
$trackWords | |||
$userAgent | |||
$username | Member Attribs |
Method | Description | |
---|---|---|
__construct ( string $username, string $password, string $method = Phirehose::METHOD_SAMPLE, string $format = self::FORMAT_JSON, $lang = FALSE ) | Create a new Phirehose object attached to the appropriate twitter stream method. | |
consume ( boolean $reconnect = TRUE ) | Connects to the stream API and consumes the stream. Each status update in the stream will cause a call to the handleStatus() method. | |
enqueueStatus ( string $status ) | This is the one and only method that must be implemented additionally. As per the streaming API documentation, statuses should NOT be processed within the same process that is performing collection | |
getFollow ( ) : array | Returns an array of followed Twitter userIds (integers) | |
getLang ( ) | Returns the ISO 639-1 code formatted language string of the current setting. (http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). | |
getLastErrorMsg ( ) : string | Returns the last error message (TCP or HTTP) that occured with the streaming API or client. State is cleared upon successful reconnect | |
getLastErrorNo ( ) : string | Returns the last error number that occured with the streaming API or client. Numbers correspond to either the fsockopen() error states (in the case of TCP errors) or HTTP error codes from Twitter (in the case of HTTP errors). | |
getLocations ( ) : array | Returns an array of 4 element arrays that denote the monitored location bounding boxes for tweets using the Geotagging API. | |
getTrack ( ) : array | Returns an array of keywords being tracked | |
heartbeat ( ) : null | Reports a periodic heartbeat. Keep execution time minimal. | |
setCount ( integer $count ) | Sets the number of previous statuses to stream before transitioning to the live stream. Applies only to firehose and filter + track methods. This is generally used internally and should not be needed by client applications. | |
setFollow ( array $userIds ) | Returns public statuses from or in reply to a set of users. Mentions ("Hello @user!") and implicit replies ("@user Hello!" created without pressing the reply button) are not matched. It is up to you to find the integer IDs of each twitter user. | |
setHostPort ( $port ) : void | Set host port | |
setLang ( string $lang ) | Restricts tweets to the given language, given by an ISO 639-1 code (http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). | |
setLocations ( array $boundingBoxes ) |
Specifies a set of bounding boxes to track as an array of 4 element lon/lat pairs denoting |
|
setLocationsByCircle ( $locations ) | Convenience method that sets location bounding boxes by an array of lon/lat/radius sets, rather than manually specified bounding boxes. Each array element should contain 3 element subarray containing a latitude, longitude and radius. Radius is specified in kilometers and is approximate (as boxes are square). | |
setSecureHostPort ( integer $port ) : void | Set secure host port | |
setTrack ( array $trackWords ) | Specifies keywords to track. Track keywords are case-insensitive logical ORs. Terms are exact-matched, ignoring punctuation. Phrases, keywords with spaces, are not supported. Queries are subject to Track Limitations. |
Method | Description | |
---|---|---|
checkFilterPredicates ( ) | Method called as frequently as practical (every 5+ seconds) that is responsible for checking if filter predicates (ie: track words or follow IDs) have changed. If they have, they should be set using the setTrack() and setFollow() methods respectively within the overridden implementation. | |
connect ( ) | Connects to the stream URL using the configured method. | |
disconnect ( ) | Performs forcible disconnect from stream (if connected) and cleanup. | |
getAuthorizationHeader ( $url, $requestParams ) | ||
log ( $message, String $level = 'notice' ) | Basic log function that outputs logging to the standard error_log() handler. This should generally be overridden to suit the application environment. | |
statusUpdate ( ) | Called every $this->avgPeriod (default=60) seconds, and this default implementation calculates some rates, logs them, and resets the counters. |
Method | Description | |
---|---|---|
reconnect ( ) | Reconnects as quickly as possible. Should be called whenever a reconnect is required rather that connect/disconnect to preserve streams reconnect state |
public __construct ( string $username, string $password, string $method = Phirehose::METHOD_SAMPLE, string $format = self::FORMAT_JSON, $lang = FALSE ) | ||
$username | string | Any twitter username. When using oAuth, this is the 'oauth_token'. |
$password | string | Any twitter password. When using oAuth this is you oAuth secret. |
$method | string | |
$format | string |
protected checkFilterPredicates ( ) |
protected connect ( ) |
protected disconnect ( ) |
abstract public enqueueStatus ( string $status ) | ||
$status | string |
public getLang ( ) |
public getLastErrorMsg ( ) : string | ||
return | string |
public getLastErrorNo ( ) : string | ||
return | string |
public getLocations ( ) : array | ||
return | array |
protected log ( $message, String $level = 'notice' ) | ||
$level | String | 'error', 'info', 'notice'. Defaults to 'notice', so you should set this parameter on the more important error messages. 'info' is used for problems that the class should be able to recover from automatically. 'error' is for exceptional conditions that may need human intervention. (For instance, emailing them to a system administrator may make sense.) |
public setLocations ( array $boundingBoxes ) | ||
$boundingBoxes | array |
public setLocationsByCircle ( $locations ) |
public setSecureHostPort ( integer $port ) : void | ||
$port | integer | |
return | void |
protected statusUpdate ( ) |
protected int $avgElapsed | ||
return | integer |
protected $connectFailuresMax |
protected float $enqueueSpent | ||
return | float |
protected float $enqueueTimeMS | ||
return | float |
protected int $filterCheckCount | ||
return | integer |
protected float $filterCheckSpent | ||
return | float |
protected float $filterCheckTimeMS | ||
return | float |
protected $followIds |
protected int $idlePeriod | ||
return | integer |
protected int $maxIdlePeriod | ||
return | integer |
protected int $statusCount | ||
return | integer |
protected int $statusRate | ||
return | integer |