version = 'v1'; } /** * @return \Twilio\Rest\Chat\V1\CredentialList */ protected function getCredentials() { if (!$this->_credentials) { $this->_credentials = new CredentialList($this); } return $this->_credentials; } /** * @return \Twilio\Rest\Chat\V1\ServiceList */ protected function getServices() { if (!$this->_services) { $this->_services = new ServiceList($this); } return $this->_services; } /** * Magic getter to lazy load root resources * * @param string $name Resource to return * @return \Twilio\ListResource The requested resource * @throws \Twilio\Exceptions\TwilioException For unknown resource */ public function __get($name) { $method = 'get' . ucfirst($name); if (method_exists($this, $method)) { return $this->$method(); } throw new TwilioException('Unknown resource ' . $name); } /** * Magic caller to get resource contexts * * @param string $name Resource to return * @param array $arguments Context parameters * @return \Twilio\InstanceContext The requested resource context * @throws \Twilio\Exceptions\TwilioException For unknown resource */ public function __call($name, $arguments) { $property = $this->$name; if (method_exists($property, 'getContext')) { return call_user_func_array(array($property, 'getContext'), $arguments); } throw new TwilioException('Resource does not have a context'); } /** * Provide a friendly representation * * @return string Machine friendly representation */ public function __toString() { return '[Twilio.Chat.V1]'; } }