| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- <?php
 
- /**
 
-  * @category Services
 
-  * @package  Services_Twilio
 
-  * @author   Neuman Vong <neuman@twilio.com>
 
-  * @license  http://creativecommons.org/licenses/MIT/ MIT
 
-  * @link     http://pear.php.net/package/Services_Twilio
 
-  */
 
- /**
 
-  * Abstraction of an instance resource from the Twilio API.
 
-  */
 
- abstract class Services_Twilio_InstanceResource extends Services_Twilio_Resource {
 
-     /**
 
-      * Make a request to the API to update an instance resource
 
-      *
 
-      * :param mixed $params: An array of updates, or a property name
 
-      * :param mixed $value:  A value with which to update the resource
 
-      *
 
-      * :rtype: null
 
-      * :throws: a :php:class:`RestException <Services_Twilio_RestException>` if
 
-      *      the update fails.
 
-      */
 
-     public function update($params, $value = null)
 
-     {
 
-         if (!is_array($params)) {
 
-             $params = array($params => $value);
 
-         }
 
-         $decamelizedParams = $this->client->createData($this->uri, $params);
 
-         $this->updateAttributes($decamelizedParams);
 
-     }
 
-     /*
 
-      * Add all properties from an associative array (the JSON response body) as
 
-      * properties on this instance resource, except the URI
 
-      *
 
-      * :param stdClass $params: An object containing all of the parameters of
 
-      *      this instance
 
-      * :return: Nothing, this is purely side effecting
 
-      * :rtype: null
 
-      */
 
-     public function updateAttributes($params) {
 
-         unset($params->uri);
 
-         foreach ($params as $name => $value) {
 
-             $this->$name = $value;
 
-         }
 
-     }
 
-     /**
 
-      * Get the value of a property on this resource.
 
-      *
 
-      * Instead of defining all of the properties of an object directly, we rely
 
-      * on the API to tell us which properties an object has. This method will
 
-      * query the API to retrieve a property for an object, if it is not already
 
-      * set on the object.
 
-      *
 
-      * If the call is to a subresource, eg ``$client->account->messages``, no
 
-      * request is made.
 
-      *
 
-      * To help with lazy HTTP requests, we don't actually retrieve an object
 
-      * from the API unless you really need it. Hence, this function may make API
 
-      * requests even if the property you're requesting isn't available on the
 
-      * resource.
 
-      *
 
-      * :param string $key: The property name
 
-      *
 
-      * :return mixed: Could be anything.
 
-      * :throws: a :php:class:`RestException <Services_Twilio_RestException>` if
 
-      *      the update fails.
 
-      */
 
-     public function __get($key)
 
-     {
 
-         if ($subresource = $this->getSubresources($key)) {
 
-             return $subresource;
 
-         }
 
-         if (!isset($this->$key)) {
 
-             $params = $this->client->retrieveData($this->uri);
 
-             $this->updateAttributes($params);
 
-         }
 
-         return $this->$key;
 
-     }
 
- }
 
 
  |