public function getPropertyType(string $propertyName) : string
    {
        $stringProperties = [
            'Comment' => 1,
            'Browser' => 1,
            'Browser_Maker' => 1,
            'Browser_Modus' => 1,
            'Browser_Type' => 1,
            'Platform' => 1,
            'Platform_Name' => 1,
            'Platform_Description' => 1,
            'Device_Name' => 1,
            'Platform_Maker' => 1,
            'Device_Code_Name' => 1,
            'Device_Maker' => 1,
            'Device_Brand_Name' => 1,
            'Device_Type' => 1,
            'RenderingEngine_Name' => 1,
            'RenderingEngine_Description' => 1,
            'RenderingEngine_Maker' => 1,
            'Parent' => 1,
            'PropertyName' => 1,
            'PatternId' => 1,
        ];

        if (isset($stringProperties[$propertyName])) {
            return self::TYPE_STRING;
        }

        $arrayProperties = [
            'Device_Pointing_Method' => 1,
            'Browser_Bits' => 1,
            'Platform_Bits' => 1,
        ];

        if (isset($arrayProperties[$propertyName])) {
            return self::TYPE_IN_ARRAY;
        }

        $genericProperties = [
            'Platform_Version' => 1,
            'RenderingEngine_Version' => 1,
        ];

        if (isset($genericProperties[$propertyName])) {
            return self::TYPE_GENERIC;
        }

        $numericProperties = [
            'Version' => 1,
            'CssVersion' => 1,
            'AolVersion' => 1,
            'MajorVer' => 1,
            'MinorVer' => 1,
        ];

        if (isset($numericProperties[$propertyName])) {
            return self::TYPE_NUMBER;
        }

        $booleanProperties = [
            'Alpha' => 1,
            'Beta' => 1,
            'Win16' => 1,
            'Win32' => 1,
            'Win64' => 1,
            'Frames' => 1,
            'IFrames' => 1,
            'Tables' => 1,
            'Cookies' => 1,
            'BackgroundSounds' => 1,
            'JavaScript' => 1,
            'VBScript' => 1,
            'JavaApplets' => 1,
            'ActiveXControls' => 1,
            'isMobileDevice' => 1,
            'isTablet' => 1,
            'isSyndicationReader' => 1,
            'Crawler' => 1,
            'MasterParent' => 1,
            'LiteMode' => 1,
            'isFake' => 1,
            'isAnonymized' => 1,
            'isModified' => 1,
        ];

        if (isset($booleanProperties[$propertyName])) {
            return self::TYPE_BOOLEAN;
        }

        throw new \InvalidArgumentException("Property {$propertyName} did not have a defined property type");
    }
public function getPropertyType(string $propertyName) : string
    {
        $stringProperties = [
            'Comment' => 1,
            'Browser' => 1,
            'Browser_Maker' => 1,
            'Browser_Modus' => 1,
            'Browser_Type' => 1,
            'Platform' => 1,
            'Platform_Name' => 1,
            'Platform_Description' => 1,
            'Device_Name' => 1,
            'Platform_Maker' => 1,
            'Device_Code_Name' => 1,
            'Device_Maker' => 1,
            'Device_Brand_Name' => 1,
            'Device_Type' => 1,
            'RenderingEngine_Name' => 1,
            'RenderingEngine_Description' => 1,
            'RenderingEngine_Maker' => 1,
            'Parent' => 1,
            'PropertyName' => 1,
            'PatternId' => 1,
        ];

        if (isset($stringProperties[$propertyName])) {
            return self::TYPE_STRING;
        }

        $arrayProperties = [
            'Device_Pointing_Method' => 1,
            'Browser_Bits' => 1,
            'Platform_Bits' => 1,
        ];

        if (isset($arrayProperties[$propertyName])) {
            return self::TYPE_IN_ARRAY;
        }

        $genericProperties = [
            'Platform_Version' => 1,
            'RenderingEngine_Version' => 1,
        ];

        if (isset($genericProperties[$propertyName])) {
            return self::TYPE_GENERIC;
        }

        $numericProperties = [
            'Version' => 1,
            'CssVersion' => 1,
            'AolVersion' => 1,
            'MajorVer' => 1,
            'MinorVer' => 1,
        ];

        if (isset($numericProperties[$propertyName])) {
            return self::TYPE_NUMBER;
        }

        $booleanProperties = [
            'Alpha' => 1,
            'Beta' => 1,
            'Win16' => 1,
            'Win32' => 1,
            'Win64' => 1,
            'Frames' => 1,
            'IFrames' => 1,
            'Tables' => 1,
            'Cookies' => 1,
            'BackgroundSounds' => 1,
            'JavaScript' => 1,
            'VBScript' => 1,
            'JavaApplets' => 1,
            'ActiveXControls' => 1,
            'isMobileDevice' => 1,
            'isTablet' => 1,
            'isSyndicationReader' => 1,
            'Crawler' => 1,
            'MasterParent' => 1,
            'LiteMode' => 1,
            'isFake' => 1,
            'isAnonymized' => 1,
            'isModified' => 1,
        ];

        if (isset($booleanProperties[$propertyName])) {
            return self::TYPE_BOOLEAN;
        }

        throw new \InvalidArgumentException("Property {$propertyName} did not have a defined property type");
    }
public function getPropertyType ( string $ propertyName ) : string { $ stringProperties = [ 'Comment' => 1 , 'Browser' => 1 , 'Browser_Maker' => 1 , 'Browser_Modus' => 1 , 'Browser_Type' => 1 , 'Platform' => 1 , 'Platform_Name' => 1 , 'Platform_Description' => 1 , 'Device_Name' => 1 , 'Platform_Maker' => 1 , 'Device_Code_Name' => 1 , 'Device_Maker' => 1 , 'Device_Brand_Name' => 1 , 'Device_Type' => 1 , 'RenderingEngine_Name' => 1 , 'RenderingEngine_Description' => 1 , 'RenderingEngine_Maker' => 1 , 'Parent' => 1 , 'PropertyName' => 1 , 'PatternId' => 1 , ] ; if ( isset ( $ stringProperties [ $ propertyName ] ) ) { return self :: TYPE_STRING ; } $ arrayProperties = [ 'Device_Pointing_Method' => 1 , 'Browser_Bits' => 1 , 'Platform_Bits' => 1 , ] ; if ( isset ( $ arrayProperties [ $ propertyName ] ) ) { return self :: TYPE_IN_ARRAY ; } $ genericProperties = [ 'Platform_Version' => 1 , 'RenderingEngine_Version' => 1 , ] ; if ( isset ( $ genericProperties [ $ propertyName ] ) ) { return self :: TYPE_GENERIC ; } $ numericProperties = [ 'Version' => 1 , 'CssVersion' => 1 , 'AolVersion' => 1 , 'MajorVer' => 1 , 'MinorVer' => 1 , ] ; if ( isset ( $ numericProperties [ $ propertyName ] ) ) { return self :: TYPE_NUMBER ; } $ booleanProperties = [ 'Alpha' => 1 , 'Beta' => 1 , 'Win16' => 1 , 'Win32' => 1 , 'Win64' => 1 , 'Frames' => 1 , 'IFrames' => 1 , 'Tables' => 1 , 'Cookies' => 1 , 'BackgroundSounds' => 1 , 'JavaScript' => 1 , 'VBScript' => 1 , 'JavaApplets' => 1 , 'ActiveXControls' => 1 , 'isMobileDevice' => 1 , 'isTablet' => 1 , 'isSyndicationReader' => 1 , 'Crawler' => 1 , 'MasterParent' => 1 , 'LiteMode' => 1 , 'isFake' => 1 , 'isAnonymized' => 1 , 'isModified' => 1 , ] ; if ( isset ( $ booleanProperties [ $ propertyName ] ) ) { return self :: TYPE_BOOLEAN ; } throw new \ InvalidArgumentException ( "Property {$propertyName} did not have a defined property type" ) ; }
Get the type of a property

@param string $propertyName

@throws \InvalidArgumentException

@return string
Get the type of a property