forked from php-annotations/php-annotations
-
Notifications
You must be signed in to change notification settings - Fork 1
/
php-doc notes.txt
110 lines (96 loc) · 5.16 KB
/
php-doc notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
property levels:
- page
- class
- method
- property
- function
- variable
- define
defined property types:
- 'bool', 'int', 'float', 'string', 'mixed', 'object', 'resource', 'array'
additional PHP property types / aliases:
- 'res' (alias of 'resource')
- 'boolean' (alias of 'bool')
- 'integer' (alias of 'int')
- 'double' (alias of 'float)
- 'number' (alternative to 'int', 'float' or 'double')
- 'callback' (e.g. array($object|$class, $method) or 'function-name')
defined tags:
@access {private|public} : used on classes to make them private/public in documentation
@abstract : PHP4 equivalent of the abstract keyword for classes
@author {name} <{email}> : indicates who the author of a class is
@category : used at "page" level (e.g. file) - organizes packages into categories
@copyright {statement} : associates a copyright statement with any taggable element
@deprecated {statement} : defines a short statement explaining why a document was deprecated (works everywhere except at page-level)
@example {path} : defines a path to an example script (relative paths are allowed)
@final : PHP4 equivalent of the final keyword for classes
@filesource : similar to @example, but uses the path of the current file - used at page-level
@global {type} {$name} : defines a global variable
@global {type} {description} : defines the use of a global variable
@ignore : suppresses documentation of the element it's applied to
@internal {text} : declares internal documentation (excluded from public version of documentation)
@license {url} {title} : declares a link to a license agreement
@link {url} {text} : any url (including http, mailto, ftp, etc.) and optional description
@method {type} {description} : defines a magic/virtual method
@name {$varname} : used in conjunction with @global to "rename" a global variable
@package {name} : associates a file or class with a package-name
@param {type} {$name} {description} : describes a function-parameter's type and description
@param {type1|type2} {$name} {description} : defines a function accepting multiple types of arguments
@property {type} {$name} {description} : defines a magic/virtual property's type, name and description
@property-read {type} {$name} {description} : same for read-only properties
@property-write {type} {$name} {description} : same for write-only properties
@return {type} {description} : defines the type and description of a function or method's return-value
@return {type1|type2} {description} : for mixed return types
@see {element} : adds internal documentation links, e.g. "path/file.php", "class::methodname()", "class::$varname", etc.
@since {description} : adds historical version information - typically includes a version number
@static : marks a method or property as static - PHP4 equivalent to the static keyword in PHP5
@staticvar {type} {$name} : documents the use of a static variable in a method or function
@subpackage {name} : used together with @package to define a sub-package name
@todo {text} : defines a todo-list item for the programmer
@tutorial package/subpackage/tutorialname.ext#section.subsection description : defines a link to a tutorial
@uses {element} {description} : similar to @see, but adds a reverse @usedby tag to the destination element
@var {type} {description} : used on properties to declare the type and description
important tags for run-time reflection:
@method {type} {func(type arg, type arg, ...)} {description} : defines a magic/virtual method
@param {type} {$name} {description} : defines a method or function parameter's type
@param {type1|type2} {$name} {description} : defines a method or function parameter's type as mixed
@property {type} {$name} {description} : defines a magic/virtual property and it's type
@property-read {type} {$name} {description} : defines a magic/virtual property, it's type and visibility
@property-write {type} {$name} {description} : defines a magic/virtual property, it's type and visibility
@return {type} {description} : defines the return-type of a function or method
@return {type1|type2} {description} : defines the return-type of a function or method as mixed
@var {type} {description} : defines property types
other potentially useful tags for run-time reflection:
@author : for admin/about screens
@category : for admin/about screens
@copyright : for admin/about screens
@license : for admin/about screens
@package : for admin/about screens
@subpackage : for admin/about screens
@uses : possible used in autoloaders, etc.
useless tags:
@access : outdated
@abstract : outdated
@deprecated : not relevant at run-time
@example : not relevant at run-time
@final : outdated
@filesource : not relevant at run-time
@global : not relevant at run-time
@ignore : documentation only
@internal : documentation only
@link : documentation only
@name : documentation only
@see : documentation only
@since : documentation only
@static : outdated
@staticvar : documentation only
@todo : documentation only
@tutorial : documentation only
tags that must be inherited by subclasses:
@author
@version
@copyright
@package
@subpackage
(short description)
(long description)