protected function &resolveAttributePath($name, $writeContext = false)
    {
        $array = &$this->attributes;
        $name = (0 === strpos($name, $this->namespaceCharacter)) ? substr($name, 1) : $name;

        // Check if there is anything to do, else return
        if (!$name) {
            return $array;
        }

        $parts = explode($this->namespaceCharacter, $name);
        if (\count($parts) < 2) {
            if (!$writeContext) {
                return $array;
            }

            $array[$parts[0]] = [];

            return $array;
        }

        unset($parts[\count($parts) - 1]);

        foreach ($parts as $part) {
            if (null !== $array && !\array_key_exists($part, $array)) {
                if (!$writeContext) {
                    $null = null;

                    return $null;
                }

                $array[$part] = [];
            }

            $array = &$array[$part];
        }

        return $array;
    }
protected function &resolveAttributePath($name, $writeContext = false)
    {
        $array = &$this->attributes;
        $name = (0 === strpos($name, $this->namespaceCharacter)) ? substr($name, 1) : $name;

        // Check if there is anything to do, else return
        if (!$name) {
            return $array;
        }

        $parts = explode($this->namespaceCharacter, $name);
        if (\count($parts) < 2) {
            if (!$writeContext) {
                return $array;
            }

            $array[$parts[0]] = [];

            return $array;
        }

        unset($parts[\count($parts) - 1]);

        foreach ($parts as $part) {
            if (null !== $array && !\array_key_exists($part, $array)) {
                if (!$writeContext) {
                    $null = null;

                    return $null;
                }

                $array[$part] = [];
            }

            $array = &$array[$part];
        }

        return $array;
    }
protected function & resolveAttributePath ( $ name , $ writeContext = false ) { $ array = & $ this -> attributes ; $ name = ( 0 === strpos ( $ name , $ this -> namespaceCharacter ) ) ? substr ( $ name , 1 ) : $ name ; // Check if there is anything to do, else return if ( ! $ name ) { return $ array ; } $ parts = explode ( $ this -> namespaceCharacter , $ name ) ; if ( \ count ( $ parts ) < 2 ) { if ( ! $ writeContext ) { return $ array ; } $ array [ $ parts [ 0 ] ] = [ ] ; return $ array ; } unset ( $ parts [ \ count ( $ parts ) - 1 ] ) ; foreach ( $ parts as $ part ) { if ( null !== $ array && ! \ array_key_exists ( $ part , $ array ) ) { if ( ! $ writeContext ) { $ null = null ; return $ null ; } $ array [ $ part ] = [ ] ; } $ array = & $ array [ $ part ] ; } return $ array ; }
Resolves a path in attributes property and returns it as a reference.

This method allows structured namespacing of session attributes.

@param string $name         Key name
@param bool   $writeContext Write context, default false

@return array
Resolves a path in attributes property and returns it as a reference .