Reference¶
The PHP domain provides the following directives. Most directives are similar to Python’s.
Directives¶
Each directive populates the index, and or the namespace index.
- .. php:namespace:: name¶
This directive declares a new PHP namespace. It accepts nested namespaces by separating namespaces with
\
. It does not generate any content likephp:class
does. It will however, generate an entry in the namespace/module index.It has
synopsis
anddeprecated
options, similar topy:module
- .. php:global:: name¶
This directive declares a new PHP global variable.
- .. php:function:: name(signature)¶
Defines a new global/namespaced function outside of a class. You can use many of the same field lists as the python domain. However,
raises
is replaced withthrows
- .. php:const:: name¶
This directive declares a new PHP constant, you can also used it nested inside a class directive to create class constants.
- .. php:exception:: name¶
This directive declares a new Exception in the current namespace. The signature can include constructor arguments.
- .. php:interface:: name¶
Describe an interface. Methods and constants belonging to the interface should follow or be nested inside this directive.
- .. php:trait:: name¶
Describe a trait. Methods beloning to the trait should follow or be nested inside this directive.
- .. php:enum:: name [ : type ]¶
Describes an enum. Cases, methods, and constants belonging to the enum should be inside this directive’s body:
.. php:enum:: Suit In playing cards, a suit is one of the categories into which the cards of a deck are divided. .. php:case:: Hearts Hearts is one of the four suits in playing cards. .. php:case:: Diamonds Diamonds is one of the four suits in playing cards. .. php:case:: Clubs Clubs is one of the four suits in playing cards. .. php:case:: Spades Spades is one of the four suits in playing cards. .. php:method:: color() -> string Returns "Red" for hearts and diamonds and "black" for clubs and spades. .. php:const:: Roses : Hearts An alias for :php:case:`Suit::Hearts`.
You may describe a backed enum by specifying the optional enum type and case values:
.. php:enum:: Suit : string In playing cards, a suit is one of the categories into which the cards of a deck are divided. .. php:case:: Hearts : 'H' .. php:case:: Diamonds : 'D' .. php:case:: Clubs : 'C' .. php:case:: Spades : 'S'
- .. php:case:: name [ : value ]¶
Describes an enum case. If describing a backed enum case, you may also provide the case value. See
php:enum
for examples.
- .. php:class:: name¶
Describes a class. Methods, attributes, and constants belonging to the class should be inside this directive’s body:
.. php:class:: MyClass Class description .. php:method:: method($argument) Method description
Attributes, methods and constants don’t need to be nested. They can also just follow the class declaration:
.. php:class:: MyClass Text about the class .. php:method:: methodName() Text about the method
See also
- .. php:method:: name(signature)¶
Describe a class method, its arguments, return value, and exceptions:
.. php:method:: instanceMethod($one, $two) :param string $one: The first parameter. :param string $two: The second parameter. :returns: A description of what this returns. :returntype: LibraryName\\LibraryClass :throws: InvalidArgumentException This is an instance method.
- .. php:staticmethod:: ClassName::methodName(signature)¶
Describe a static method, its arguments, return value and exceptions, see
php:method
for options.
- .. php:attr:: name¶
Describe an property/attribute on a class.
Cross Referencing¶
The following roles refer to php objects and are links are generated if a matching directive is found:
- :php:ns:¶
Reference a namespace. Nested namespaces need to be separated by two \ due to the syntax of ReST:
.. php:ns:`LibraryName\\SubPackage` will work correctly.
- :php:func:¶
Reference a PHP function either in a namespace or out. If the function is in a namespace, be sure to include the namespace, unless you are currently inside the same namespace.
- :php:global:¶
Reference a global variable whose name has
$
prefix.
- :php:const:¶
Reference either a global constant, or a class constant. Class constants should be preceded by the owning class:
DateTime has an :php:const:`DateTime::ATOM` constant.
- :php:class:¶
Reference a class; a name with namespace can be used. If you include a namespace, you should use following style:
:php:class:`LibraryName\\ClassName`
- :php:meth:¶
Reference a method of a class/interface/trait. This role supports both kinds of methods:
:php:meth:`DateTime::setDate` :php:meth:`Classname::staticMethod`
- :php:attr:¶
Reference a property on an object:
:php:attr:`ClassName::$propertyName`
- :php:exc:¶
Reference an exception. A namespaced name may be used.
- :php:interface:¶
Reference an interface. A namespaced name may be used.
- :php:trait:¶
Reference a trait. A namespaced name may be used.
- :php:enum:¶
Reference an enum. A namespaced name may be used:
:php:enum:`Example\\Suit`
- :php:case:¶
Reference an enum case. A namespace name may be used:
:php:case:`Example\\Suit::Hearts`