===================== @author ===================== /** * @author Foo Bar * @author F. Bar * @author F. Bar */ --- (document (tag (tag_name) (author_name)) (tag (tag_name) (author_name)) (tag (tag_name) (author_name) (email_address))) ===================== @param ===================== /** * @param $foo */ --- (document (tag (tag_name) (variable_name (name)))) ===================== @param w/ description ===================== /** * @param $foo description */ --- (document (tag (tag_name) (variable_name (name)) (description (text)))) ===================== @param w/ primitive type ===================== /** * @param int $foo */ --- (document (tag (tag_name) (type_list (primitive_type)) (variable_name (name)))) ===================== @param w/ primitive list type ===================== /** * @param int|string $foo */ --- (document (tag (tag_name) (type_list (primitive_type) (primitive_type)) (variable_name (name)))) ===================== @param w/ primitive array type ===================== /** * @param int[] $foo */ --- (document (tag (tag_name) (type_list (array_type (primitive_type))) (variable_name (name)))) ===================== @param w/ primitive array & list type ===================== /** * @param int[]|string[]|float $foo */ --- (document (tag (tag_name) (type_list (array_type (primitive_type)) (array_type (primitive_type)) (primitive_type)) (variable_name (name)))) ===================== @param w/ primitive type & description ===================== /** * @param int $foo description */ --- (document (tag (tag_name) (type_list (primitive_type)) (variable_name (name)) (description (text)))) ===================== @param w/ primitive list type & description ===================== /** * @param int|string $foo description */ --- (document (tag (tag_name) (type_list (primitive_type) (primitive_type)) (variable_name (name)) (description (text)))) ===================== @param w/ named type ===================== /** * @param MyClass $foo */ --- (document (tag (tag_name) (type_list (named_type (name))) (variable_name (name)))) ===================== @param w/ qualified type ===================== /** * @param MyPackage\MyClass $foo */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ) (variable_name (name)))) ===================== @param w/ qualified type & description ===================== /** * @param MyPackage\MyClass $foo bar baz */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ) (variable_name (name)) (description (text)))) ===================== @param w/ global qualified type ===================== /** * @param \MyPackage\MyClass $foo */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ) (variable_name (name)))) ===================== @param w/ global qualified type & description ===================== /** * @param \MyPackage\MyClass $foo bar baz */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ) (variable_name (name)) (description (text)))) ===================== @return w/ primitive type ===================== /** * @return int */ --- (document (tag (tag_name) (type_list (primitive_type)))) ===================== @return w/ primitive type & description ===================== /** * @return int $foo description */ --- (document (tag (tag_name) (type_list (primitive_type)) (description (text)))) ===================== @return w/ named type ===================== /** * @return MyClass */ --- (document (tag (tag_name) (type_list (named_type (name))))) ===================== @return w/ qualified type ===================== /** * @return MyPackage\MyClass */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ))) ===================== @return w/ qualified type & description ===================== /** * @return MyPackage\MyClass foo bar */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ) (description (text)))) ===================== @return w/ global qualified type ===================== /** * @return \MyPackage\MyClass */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ))) ===================== @return w/ global qualified type & description ===================== /** * @return \MyPackage\MyClass foo bar */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ) (description (text)))) ===================== @return w/ global qualified type & description w/ backslash ===================== /** * @return \MyPackage\MyClass foo\bar */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))) ) (description (text)))) ===================== @api ===================== /** * @api */ --- (document (tag (tag_name))) ===================== @var ===================== /** @var int $foo */ --- (document (tag (tag_name) (type_list (primitive_type)) (variable_name (name)))) ===================== @var w/ description ===================== /** @var int $foo bar baz */ --- (document (tag (tag_name) (type_list (primitive_type)) (variable_name (name)) (description (text)))) ===================== @var w/o variable name ===================== /** @var int bar baz */ --- (document (tag (tag_name) (type_list (primitive_type)) (description (text)))) ===================== @var w/ named type ===================== /** @var MyClass $foo */ --- (document (tag (tag_name) (type_list (named_type (name))) (variable_name (name)))) ===================== @var w/ namespaced type ===================== /** @var MyNameSpace\MyClass $foo */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name)))) (variable_name (name)))) ===================== @var w/ primitive array type ===================== /** @var int[] $foo */ --- (document (tag (tag_name) (type_list (array_type (primitive_type))) (variable_name (name)))) ===================== @var w/ multidimensional primitive array type ===================== /** @var int[][] $foo */ --- (document (tag (tag_name) (type_list (array_type (primitive_type))) (variable_name (name)))) ===================== @var w/ multiple primitive array type ===================== /** @var int[]|string[]|null $foo */ --- (document (tag (tag_name) (type_list (array_type (primitive_type)) (array_type (primitive_type)) (primitive_type)) (variable_name (name)))) ===================== @var w/ named array type ===================== /** @var MyNameSpace\MyClass[] $foo */ --- (document (tag (tag_name) (type_list (array_type (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name))))) (variable_name (name)))) ===================== @var w/ multiple named array type (plus primitive) ===================== /** @var MyNameSpace\MyClass[]|MyNameSpace\MyOtherClass[]|null $foo */ --- (document (tag (tag_name) (type_list (array_type (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name)))) (array_type (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name)))) (primitive_type)) (variable_name (name)))) ===================== @method ===================== /** @method MyNameSpace\MyClass methodName(int $param) */ --- (document (tag (tag_name) (type_list (named_type (qualified_name (namespace_name_as_prefix (namespace_name (name))) (name)))) (name) (parameters (parameter (type_list (primitive_type)) (variable_name (name))))))