private function parseMetadataProperty(\ReflectionProperty $property)
    {
        $metadata = array();
        $tag = '@var';
        $docComment = $property->getDocComment();
        $occurence = (int) substr_count($docComment, $tag);

        if (1 < $occurence) {
            throw new \RuntimeException(sprintf('"@var" tag is not unique for "%s->%s"', $property->getDeclaringClass()->getName(), $property->getName()));
        }

        $metadata['attribute'] = $property->getName();

        // Grep type and optional namespaces
        preg_match('#@var\h+([a-zA-Z0-9\\\\_]+)(?:\h+\[([a-zA-Z0-9\\\\\s,_]+)\]\h*|.*)\v#', $docComment, $captured);

        if (!empty($captured)) {

            // Format var metadata
            $metadata['type'] = $captured[1];

            if (isset($captured[2])) {
                $metadata['mappedClass'] = trim($captured[2]);
            }
        }

        return $metadata;
    }
private function parseMetadataProperty(\ReflectionProperty $property)
    {
        $metadata = array();
        $tag = '@var';
        $docComment = $property->getDocComment();
        $occurence = (int) substr_count($docComment, $tag);

        if (1 < $occurence) {
            throw new \RuntimeException(sprintf('"@var" tag is not unique for "%s->%s"', $property->getDeclaringClass()->getName(), $property->getName()));
        }

        $metadata['attribute'] = $property->getName();

        // Grep type and optional namespaces
        preg_match('#@var\h+([a-zA-Z0-9\\\\_]+)(?:\h+\[([a-zA-Z0-9\\\\\s,_]+)\]\h*|.*)\v#', $docComment, $captured);

        if (!empty($captured)) {

            // Format var metadata
            $metadata['type'] = $captured[1];

            if (isset($captured[2])) {
                $metadata['mappedClass'] = trim($captured[2]);
            }
        }

        return $metadata;
    }
private function parseMetadataProperty ( \ ReflectionProperty $ property ) { $ metadata = array ( ) ; $ tag = '@var' ; $ docComment = $ property -> getDocComment ( ) ; $ occurence = ( int ) substr_count ( $ docComment , $ tag ) ; if ( 1 < $ occurence ) { throw new \ RuntimeException ( sprintf ( '"@var" tag is not unique for "%s->%s"' , $ property -> getDeclaringClass ( ) -> getName ( ) , $ property -> getName ( ) ) ) ; } $ metadata [ 'attribute' ] = $ property -> getName ( ) ; // Grep type and optional namespaces preg_match ( '#@var\h+([a-zA-Z0-9\\\\_]+)(?:\h+\[([a-zA-Z0-9\\\\\s,_]+)\]\h*|.*)\v#' , $ docComment , $ captured ) ; if ( ! empty ( $ captured ) ) { // Format var metadata $ metadata [ 'type' ] = $ captured [ 1 ] ; if ( isset ( $ captured [ 2 ] ) ) { $ metadata [ 'mappedClass' ] = trim ( $ captured [ 2 ] ) ; } } return $ metadata ; }
Parse Boomgo metadata

Extract metadata from the optional var tag

@param \ReflectionProperty $property

@return array
Parse Boomgo metadata