protected function convertParamValueToString($propertyName)
    {
        $abstractParamClass = static::BASE_PARAM_CLASS;

        // use the property if it exists in the getDefaultValue() method of the Request Type -> Param class
        // for example, for a Data request, this looks in JasonRoman\NbaApi\Params\Data\<Property>Param
        $requestTypeParamClass = $abstractParamClass::getRequestTypeParamClass(
            $this::getDomain(),
            $propertyName
        );

        // make sure the class exists and is an instance of the base param class
        if (
            class_exists($requestTypeParamClass) &&
            is_subclass_of($requestTypeParamClass, $abstractParamClass) &&
            method_exists($requestTypeParamClass, static::CONVERT_TO_STRING_METHOD)
        ) {
            return $requestTypeParamClass::{static::CONVERT_TO_STRING_METHOD}($this->$propertyName);
        }

        // use the property if it exists in the getDefaultValue() method of the base Param class
        // for example, for a Data request, this looks in JasonRoman\NbaApi\Params\<Property>Param
        $paramClass = $abstractParamClass::getParamClass($propertyName);

        // make sure the class exists and is an instance of the base param class
        if (
            class_exists($paramClass) &&
            is_subclass_of($paramClass, $abstractParamClass) &&
            method_exists($paramClass, static::CONVERT_TO_STRING_METHOD)
        ) {
            return $paramClass::{static::CONVERT_TO_STRING_METHOD}($this->$propertyName);
        }

        // if got here, no specific param class exists, so just cast to string using the request property utility
        return RequestPropertyUtility::getStringValue($this->$propertyName);
    }
protected function convertParamValueToString($propertyName)
    {
        $abstractParamClass = static::BASE_PARAM_CLASS;

        // use the property if it exists in the getDefaultValue() method of the Request Type -> Param class
        // for example, for a Data request, this looks in JasonRoman\NbaApi\Params\Data\<Property>Param
        $requestTypeParamClass = $abstractParamClass::getRequestTypeParamClass(
            $this::getDomain(),
            $propertyName
        );

        // make sure the class exists and is an instance of the base param class
        if (
            class_exists($requestTypeParamClass) &&
            is_subclass_of($requestTypeParamClass, $abstractParamClass) &&
            method_exists($requestTypeParamClass, static::CONVERT_TO_STRING_METHOD)
        ) {
            return $requestTypeParamClass::{static::CONVERT_TO_STRING_METHOD}($this->$propertyName);
        }

        // use the property if it exists in the getDefaultValue() method of the base Param class
        // for example, for a Data request, this looks in JasonRoman\NbaApi\Params\<Property>Param
        $paramClass = $abstractParamClass::getParamClass($propertyName);

        // make sure the class exists and is an instance of the base param class
        if (
            class_exists($paramClass) &&
            is_subclass_of($paramClass, $abstractParamClass) &&
            method_exists($paramClass, static::CONVERT_TO_STRING_METHOD)
        ) {
            return $paramClass::{static::CONVERT_TO_STRING_METHOD}($this->$propertyName);
        }

        // if got here, no specific param class exists, so just cast to string using the request property utility
        return RequestPropertyUtility::getStringValue($this->$propertyName);
    }
protected function convertParamValueToString ( $ propertyName ) { $ abstractParamClass = static :: BASE_PARAM_CLASS ; // use the property if it exists in the getDefaultValue() method of the Request Type -> Param class // for example, for a Data request, this looks in JasonRoman\NbaApi\Params\Data\<Property>Param $ requestTypeParamClass = $ abstractParamClass :: getRequestTypeParamClass ( $ this :: getDomain ( ) , $ propertyName ) ; // make sure the class exists and is an instance of the base param class if ( class_exists ( $ requestTypeParamClass ) && is_subclass_of ( $ requestTypeParamClass , $ abstractParamClass ) && method_exists ( $ requestTypeParamClass , static :: CONVERT_TO_STRING_METHOD ) ) { return $ requestTypeParamClass :: { static :: CONVERT_TO_STRING_METHOD } ( $ this -> $ propertyName ) ; } // use the property if it exists in the getDefaultValue() method of the base Param class // for example, for a Data request, this looks in JasonRoman\NbaApi\Params\<Property>Param $ paramClass = $ abstractParamClass :: getParamClass ( $ propertyName ) ; // make sure the class exists and is an instance of the base param class if ( class_exists ( $ paramClass ) && is_subclass_of ( $ paramClass , $ abstractParamClass ) && method_exists ( $ paramClass , static :: CONVERT_TO_STRING_METHOD ) ) { return $ paramClass :: { static :: CONVERT_TO_STRING_METHOD } ( $ this -> $ propertyName ) ; } // if got here, no specific param class exists, so just cast to string using the request property utility return RequestPropertyUtility :: getStringValue ( $ this -> $ propertyName ) ; }
Get the string value of a parameter according to the priority, stopping when a value is converted.
Note that each param class does not have to specifically define this function; it rolls up to the base class.

Priority:
1. use the getStringValue() method of the corresponding Request Type -> Param class
2. use the getStringValue() method of the corresponding global Param class
3. call the general RequestPropertyUtility::getStringValue() method

@param string $propertyName
@return string
Get the string value of a parameter according to the priority stopping when a value is converted . Note that each param class does not have to specifically define this function ; it rolls up to the base class .