Error reporting when using the word "starting" in wordnik
<p>I am using the API wordnik and when I search for the definition of the word "starting" I get the following errors</p>

<p>Warning: class Label has no property type in /wordnik/api/APIClient.php on line 172</p>

<p>Fatal error: Class name must be a valid object or a string in /wordnik/api/APIClient.php on line 154</p>

<p>I can search other words fine, it seems to just be this one. I am sure there are more I just have not found them yet</p>

<p>The line 172 is at the section of code that has E_USER_WARNING);</p>

<p>The line 154 is at the section of code that has $instance = new $class(); // this instantiates class named $class</p>

<pre><code>&lt;?php
/**
* APIClient.php
*/


/* Autoload the model definition files */
/**
*
*
* @param string $className the class to attempt to load
*/
function __autoload($className) {
$currentDir = substr(__FILE__, 0, strrpos(__FILE__, '/'));
if (file_exists($currentDir . '/' . $className . '.php')) {
    include $currentDir . '/' . $className . '.php';
} elseif (file_exists($currentDir . '/../model/' . $className . '.php')) {
    include $currentDir . '/../model/' . $className . '.php';
}
}


class APIClient {

public static $POST = "POST";
public static $GET = "GET";
public static $PUT = "PUT";
public static $DELETE = "DELETE";

/**
 * @param string $apiKey your API key
 * @param string $apiServer the address of the API server
 */
function __construct($apiKey, $apiServer) {
    $this-&gt;apiKey = $apiKey;
    $this-&gt;apiServer = $apiServer;
}


/**
 * @param string $resourcePath path to method endpoint
 * @param string $method method to call
 * @param array $queryParams parameters to be place in query URL
 * @param array $postData parameters to be placed in POST body
 * @param array $headerParams parameters to be place in request header
 * @return unknown
 */
public function callAPI($resourcePath, $method, $queryParams, $postData,
    $headerParams) {

    $headers = array();
    $headers[] = "Content-type: application/json";

    # Allow API key from $headerParams to override default
    $added_api_key = False;
    if ($headerParams != null) {
        foreach ($headerParams as $key =&gt; $val) {
            $headers[] = "$key: $val";
            if ($key == 'api_key') {
                $added_api_key = True;
            }
        }
    }
    if (! $added_api_key) {
        $headers[] = "api_key: " . $this-&gt;apiKey;    
    }       

    if (is_object($postData) or is_array($postData)) {
        $postData = json_encode($postData);
    }

    $url = $this-&gt;apiServer . $resourcePath;

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_TIMEOUT, 5);
    // return the result on success, rather than just TRUE
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

    if ($method == self::$GET) {
        if (! empty($queryParams)) {
            $url = ($url . '?' . http_build_query($queryParams));
        }
    } else if ($method == self::$POST) {
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
        } else if ($method == self::$PUT) {
            $json_data = json_encode($postData);
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
            curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
        } else if ($method == self::$DELETE) {
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
            curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
        } else {
        throw new Exception('Method ' . $method . ' is not recognized.');
    }

    curl_setopt($curl, CURLOPT_URL, $url);

    // Make the request
    $response = curl_exec($curl);
    $response_info = curl_getinfo($curl);

    // Handle the response
    if ($response_info['http_code'] == 0) {
        throw new Exception("TIMEOUT: api call to " . $url .
            " took more than 5s to return" );
    } else if ($response_info['http_code'] == 200) {
        $data = json_decode($response);
    } else if ($response_info['http_code'] == 401) {
        throw new Exception("Unauthorized API request to " . $url .
                ": ".json_decode($response)-&gt;message );
    } else if ($response_info['http_code'] == 404) {
        $data = null;
    } else {
        throw new Exception("Can't connect to the api: " . $url .
            " response code: " .
            $response_info['http_code']);
    }

    return $data;
}



/**
 * Take value and turn it into a string suitable for inclusion in 
 * the path or the header
 * @param object $object an object to be serialized to a string
 * @return string the serialized object
 */
public static function toPathValue($object) {
    if (is_array($object)) {
        return implode(',', $object);
    } else {
        return $object;
    }
}


/**
 * Derialize a JSON string into an object
 *
 * @param object $object object or primitive to be deserialized
 * @param string $class class name is passed as a string
 * @return object an instance of $class
 */
public static function deserialize($object, $class) {

    if (in_array($class, array('string', 'int', 'float', 'bool'))) {
        settype($object, $class);
        return $object;
    } else {
        $instance = new $class(); // this instantiates class named $class
        $classVars = get_class_vars($class);
    }

    foreach ($object as $property =&gt; $value) {

        // Need to handle possible pluralization differences
        $true_property = $property;

        if (! property_exists($class, $true_property)) {
            if (substr($property, -1) == 's') {
                $true_property = substr($property, 0, -1);
                if (! property_exists($class, $true_property)) {
                    trigger_error("class $class has no property $property"
                        . " or $true_property", E_USER_WARNING);
                }
            } else {
                trigger_error("class $class has no property $property",
                    E_USER_WARNING);
            }
        }

        $type = $classVars['swaggerTypes'][$true_property];
        if (in_array($type, array('string', 'int', 'float', 'bool'))) {
            settype($value, $type);
            $instance-&gt;{$true_property} = $value;
        } elseif (preg_match("/array&lt;(.*)&gt;/", $type, $matches)) {
            $sub_class = $matches[1];
            $instance-&gt;{$true_property} = array();
            foreach ($value as $sub_property =&gt; $sub_value) {
                $instance-&gt;{$true_property}[] = self::deserialize($sub_value,
                    $sub_class);
            }
        } else {
            $instance-&gt;{$true_property} = self::deserialize($value, $type);
        }
    }
    return $instance;
}
}


?&gt;
</code></pre>
