private static function applyAllToTree(
        RamlDoc $ramlDoc, array &$item, $itemKey = NULL
    )
    {
        if (
            RamlDoc::isValidMethod($itemKey)
            && !empty($item[RamlSpec::PROPERTY_APPLY_TRAITS])
        ) {
            $item = self::applyTraitsToNode(
                $ramlDoc, $item, $item[RamlSpec::PROPERTY_APPLY_TRAITS]
            );
        } elseif (RamlDoc::isResource($itemKey)) {
            if (!empty($item[RamlSpec::PROPERTY_APPLY_RESOURCE_TYPE])) {
                $item = self::applyResourceTypeToNode($ramlDoc, $item);
            }

            if (!empty($item[RamlSpec::PROPERTY_APPLY_TRAITS])) {
                foreach ($item as $key => &$value) {
                    if (RamlDoc::isValidMethod($key)) {
                        $value = self::applyTraitsToNode(
                            $ramlDoc,
                            $value,
                            $item[RamlSpec::PROPERTY_APPLY_TRAITS]
                        );
                    }
                }
            }
        }

        foreach ($item as $key => &$value) {
            if (
                (RamlDoc::isValidMethod($key) || RamlDoc::isResource($key))
                && !empty($value)
            ) {
                $value = call_user_func(__METHOD__, $ramlDoc, $value, $key);
            }
        }

        return $item;
    }
private static function applyAllToTree(
        RamlDoc $ramlDoc, array &$item, $itemKey = NULL
    )
    {
        if (
            RamlDoc::isValidMethod($itemKey)
            && !empty($item[RamlSpec::PROPERTY_APPLY_TRAITS])
        ) {
            $item = self::applyTraitsToNode(
                $ramlDoc, $item, $item[RamlSpec::PROPERTY_APPLY_TRAITS]
            );
        } elseif (RamlDoc::isResource($itemKey)) {
            if (!empty($item[RamlSpec::PROPERTY_APPLY_RESOURCE_TYPE])) {
                $item = self::applyResourceTypeToNode($ramlDoc, $item);
            }

            if (!empty($item[RamlSpec::PROPERTY_APPLY_TRAITS])) {
                foreach ($item as $key => &$value) {
                    if (RamlDoc::isValidMethod($key)) {
                        $value = self::applyTraitsToNode(
                            $ramlDoc,
                            $value,
                            $item[RamlSpec::PROPERTY_APPLY_TRAITS]
                        );
                    }
                }
            }
        }

        foreach ($item as $key => &$value) {
            if (
                (RamlDoc::isValidMethod($key) || RamlDoc::isResource($key))
                && !empty($value)
            ) {
                $value = call_user_func(__METHOD__, $ramlDoc, $value, $key);
            }
        }

        return $item;
    }
private static function applyAllToTree ( RamlDoc $ ramlDoc , array & $ item , $ itemKey = NULL ) { if ( RamlDoc :: isValidMethod ( $ itemKey ) && ! empty ( $ item [ RamlSpec :: PROPERTY_APPLY_TRAITS ] ) ) { $ item = self :: applyTraitsToNode ( $ ramlDoc , $ item , $ item [ RamlSpec :: PROPERTY_APPLY_TRAITS ] ) ; } elseif ( RamlDoc :: isResource ( $ itemKey ) ) { if ( ! empty ( $ item [ RamlSpec :: PROPERTY_APPLY_RESOURCE_TYPE ] ) ) { $ item = self :: applyResourceTypeToNode ( $ ramlDoc , $ item ) ; } if ( ! empty ( $ item [ RamlSpec :: PROPERTY_APPLY_TRAITS ] ) ) { foreach ( $ item as $ key => & $ value ) { if ( RamlDoc :: isValidMethod ( $ key ) ) { $ value = self :: applyTraitsToNode ( $ ramlDoc , $ value , $ item [ RamlSpec :: PROPERTY_APPLY_TRAITS ] ) ; } } } } foreach ( $ item as $ key => & $ value ) { if ( ( RamlDoc :: isValidMethod ( $ key ) || RamlDoc :: isResource ( $ key ) ) && ! empty ( $ value ) ) { $ value = call_user_func ( __METHOD__ , $ ramlDoc , $ value , $ key ) ; } } return $ item ; }
Actually applies resource types and traits.
@param RamlDoc $ramlDoc
@param array &$item
@throws \ErrorException
@see http://raml.org/spec.html#resource-types-and-traits
Actually applies resource types and traits .