View Mdoc internals of Class7

Array
(
    [main] => Array
        (
            [language] => PHP
            [type] => class
            [name] => Class7
            [source] => Array
                (
                    [comment] => /**
 * Syntactically correct PHP4 class example.
 *
 * Every code documenting block, like this one, has the same format;  
 * the very first line is the "short description", following lines up 
 * to first @info is the "long description". Every @info comment starts 
 * a line with @ (more precisely \n * @ sequence); they are also called
 * active comments (sometimes written @ctive comments).
 *
 * The long description is optional.
 *
 * The long description can have some "display" formating block, such 
 * as the [example] one or the [code] one.
 *
 * For PHP interpreter, the default scope is "public" (so @private 
 * and @protected should not be forgotten in PHP4 classes).
 */
                    [declaration] => class Class7 extends Parent1
                    [line] => 64
                    [extends] => Parent1
                )

            [description] => Array
                (
                    [short] => Syntactically correct PHP4 class example.
                    [long] => Every code documenting block, like this one, has the same format;  
the very first line is the "short description", following lines up 
to first @info is the "long description". Every @info comment starts 
a line with @ (more precisely \n * @ sequence); they are also called
active comments (sometimes written @ctive comments).

The long description is optional.

The long description can have some "display" formating block, such 
as the [example] one or the [code] one.

For PHP interpreter, the default scope is "public" (so @private 
and @protected should not be forgotten in PHP4 classes).
                )

            [constants] => 4
        )

    [constant] => Array
        (
            [CLAS_ERRMSG_1] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Constants can be declared with single documenting.
 *
 * Individual constant comment provides long description for every constant,
 * while in block, constant must be declared in single line each.
 *
 */
                            [code] => define("CLAS_ERRMSG_1", "A classical error message " .
                        "which stands onto three " . 
                        "lines to be defined ; and a semi-colon.");
                            [value] => "A classical error message " .
                        "which stands onto three " . 
                        "lines to be defined ; and a semi-colon."
                            [line] => 43
                        )

                    [description] => Array
                        (
                            [short] => Constants can be declared with single documenting.
                            [long] => Individual constant comment provides long description for every constant,
while in block, constant must be declared in single line each.
                        )

                )

        )

    [constant_group] => Array
        (
            [1] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Constants can be declared in a group.
 *
 * All constant statements in groups must be on a single line, this is a 
 * format which suits well constants defined as a serie.
 *
 * The inline comments are used to document constant individualy, these
 * subcomments are optional.
 *
 * Use the # inline comment to get subcomment ignored for documenting. 
 *
 * As of PHP5, you'd better declare the class constants using the "const"
 * statement.
 *
 */
                            [code] => define("NL_DOS", "\r\n"); // for Windows environment
define("NL_MAC", "\r");   // for Mac environment
define("NL_NIX", "\n");   // for Unix/Linux environment
                            [line] => 32
                        )

                    [description] => Array
                        (
                            [short] => Constants can be declared in a group.
                            [long] => All constant statements in groups must be on a single line, this is a 
format which suits well constants defined as a serie.

The inline comments are used to document constant individualy, these
subcomments are optional.

Use the # inline comment to get subcomment ignored for documenting. 

As of PHP5, you'd better declare the class constants using the "const"
statement.
                        )

                    [constant] => Array
                        (
                            [NL_DOS] => Array
                                (
                                    [line] => 32
                                    [comment] => for Windows environment
                                    [code] => define("NL_DOS", "\r\n");
                                    [value] => "\r\n"
                                )

                            [NL_MAC] => Array
                                (
                                    [line] => 33
                                    [comment] => for Mac environment
                                    [code] => define("NL_MAC", "\r");
                                    [value] => "\r"
                                )

                            [NL_NIX] => Array
                                (
                                    [line] => 34
                                    [comment] => for Unix/Linux environment
                                    [code] => define("NL_NIX", "\n");
                                    [value] => "\n"
                                )

                        )

                )

        )

    [property] => Array
        (
            [anint] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Integer property.
 *
 * The @type info is mandatory for property documenting.
 *
 * @type int
 */
                            [code] => var $anint = 27;
                            [initial] => 27
                            [line] => 73
                            [member] => public
                        )

                    [description] => Array
                        (
                            [short] => Integer property.
                            [long] => The @type info is mandatory for property documenting.
                        )

                    [info] => Array
                        (
                            [type] => int
                        )

                )

            [apsint] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Protected and static integer property.
 *
 * This property has an initial value.
 *
 * @type int
 */
                            [code] => var $apsint = 0;
                            [line] => 82
                            [member] => public
                        )

                    [description] => Array
                        (
                            [short] => Protected and static integer property.
                            [long] => This property has an initial value.
                        )

                    [info] => Array
                        (
                            [type] => int
                        )

                )

            [mixer] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Mixed property.
 *
 * The "type" comment is required so if 
 * property type isn't sure, use "mixed".
 *
 * @type mixed
 */
                            [code] => var $mixer;
                            [line] => 92
                            [member] => public
                        )

                    [description] => Array
                        (
                            [short] => Mixed property.
                            [long] => The "type" comment is required so if 
property type isn't sure, use "mixed".
                        )

                    [info] => Array
                        (
                            [type] => mixed
                        )

                )

            [privob] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Private property.
 *
 * @type object
 */
                            [code] => var $privob;
                            [line] => 99
                            [member] => public
                        )

                    [description] => Array
                        (
                            [short] => Private property.
                        )

                    [info] => Array
                        (
                            [type] => object
                        )

                )

            [protob] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Protected property.
 *
 * @type object
 */
                            [code] => var $protob;
                            [line] => 106
                            [member] => public
                        )

                    [description] => Array
                        (
                            [short] => Protected property.
                        )

                    [info] => Array
                        (
                            [type] => object
                        )

                )

            [multi] => Array
                (
                    [source] => Array
                        (
                            [comment] => /**
* Stack of XHTML formated output string.
 *
 * This property has a "multiline" initial value.
 *
 * @type array
 */
                            [code] => var $multi = array(
               'next' => "
", 'nl' => "
", 'trap' => "a ; to trap value parsing", ); [initial] => array( 'next' => "
", 'nl' => "
", 'trap' => "a ; to trap value parsing", ) [line] => 115 [member] => public ) [description] => Array ( [short] => Stack of XHTML formated output string. [long] => This property has a "multiline" initial value. ) [info] => Array ( [type] => array ) ) ) [method] => Array ( [Class7] => Array ( [source] => Array ( [comment] => /** * Constructor with PHP4 class syntax. * * Print an instance creation message. * * @public * @return (object) an instance of this class */ [code] => function Class7() { echo "A new instance has been created."; } [line] => 129 [return_type] => object [parameters] => void [member] => public ) [description] => Array ( [short] => Constructor with PHP4 class syntax. [long] => Print an instance creation message. ) [return] => Array ( [0] => Array ( [type] => object [description] => an instance of this class ) ) [info] => Array ( [public] => yes ) ) [m3param] => Array ( [source] => Array ( [comment] => /** * A method with 3 parameters. * * @protected * @param (string) $p1 the first parameter * @param (int) $p2 the second parameter * @param (string) $p3 the 3rd parameter * @return (void) */ [code] => function m3param($p1, $p2, $p3) { // Print the 3 parameters echo $p1 . "\n"; echo $p2 . "\n"; echo $p3 . "\n"; return true; } [line] => 143 [return_type] => void [parameters] => string p1, int p2, string p3 [member] => protected ) [description] => Array ( [short] => A method with 3 parameters. ) [param] => Array ( [p1] => Array ( [type] => string [default] => [reference] => [description] => the first parameter ) [p2] => Array ( [type] => int [default] => [reference] => [description] => the second parameter ) [p3] => Array ( [type] => string [default] => [reference] => [description] => the 3rd parameter ) ) [return] => Array ( [0] => Array ( [type] => void [description] => ) ) [info] => Array ( [protected] => yes ) ) [mpbyref] => Array ( [source] => Array ( [comment] => /** * A method with parameters passed by reference. * * The function statement presents the & reference char in * different places (& $p1 and &$p2). * * @warning unstable * @private * @param (string) $p1 the 1st parameter * @param (bool) $p2 the 2nd parameter * has a two-line comment * @return (string) the function result */ [code] => function mpbyref(& $p1, &$p2) { return $p1; } [line] => 166 [return_type] => string [parameters] => string p1, bool p2 [member] => private ) [description] => Array ( [short] => A method with parameters passed by reference. [long] => The function statement presents the & reference char in different places (& $p1 and &$p2). ) [param] => Array ( [p1] => Array ( [type] => string [default] => [reference] => yes [description] => the 1st parameter ) [p2] => Array ( [type] => bool [default] => [reference] => yes [description] => the 2nd parameter has a two-line comment ) ) [return] => Array ( [0] => Array ( [type] => string [description] => the function result ) ) [info] => Array ( [warning] => unstable [private] => yes ) ) [mnop] => Array ( [source] => Array ( [comment] => /** * A method with no parameter. * * @final * @private * @return (void) */ [code] => function mnop() { print get_class_name($this); } [line] => 178 [return_type] => void [parameters] => void [member] => private final ) [description] => Array ( [short] => A method with no parameter. ) [return] => Array ( [0] => Array ( [type] => void [description] => ) ) [info] => Array ( [final] => yes [private] => yes ) ) [mlotdoc] => Array ( [source] => Array ( [comment] => /** * A method with significant documenting comments. * * Unordered list is a sequence of lines starting all with same -+* bullet, * indented on same column at least 2 spaces from margin star, so * * - list item 1 * on two lines * - second item * - another list item * + sublist it1 * + sublist it2 * * subsub A * * subsub B * * subsub C * - another ? * again! * * is translate into an HTML unordered list (max 8 items by list, * nested up to 4 levels) * * @warning unstable * @param (int) $p1 the first parameter * @param (mixed) $p2 the title of text (string) * or false (bool) to get all * @param (string) $p3 the third parameter * is commented onto * several lines * - list item A * - list item B * @param (array) $p4 the address structured list: * 'name' => a name * 'address' => an address * 'city' => a city name * @return (void) if echo flag $p1 is true * a line of comment to test parsing * (string) the printable solution if echo flag is false (default) */ [code] => function mlotdoc($p1, $p2 = "a string", $p3 = "another string", $p4 = array()) { if ($p1) { return; } else { return "whatever"; } } [line] => 221 [return_type] => mixed [parameters] => int p1 [, mixed p2 [, string p3 [, array p4]]] [member] => public ) [description] => Array ( [short] => A method with significant documenting comments. [long] => Unordered list is a sequence of lines starting all with same -+* bullet, indented on same column at least 2 spaces from margin star, so - list item 1 on two lines - second item - another list item + sublist it1 + sublist it2 * subsub A * subsub B * subsub C - another ? again! is translate into an HTML unordered list (max 8 items by list, nested up to 4 levels) ) [param] => Array ( [p1] => Array ( [type] => int [default] => [reference] => [description] => the first parameter ) [p2] => Array ( [type] => mixed [default] => "a string" [reference] => [description] => the title of text (string) or false (bool) to get all ) [p3] => Array ( [type] => string [default] => "another string" [reference] => [description] => the third parameter is commented onto several lines - list item A - list item B ) [p4] => Array ( [type] => array [default] => array() [reference] => [description] => the address structured list: 'name' => a name 'address' => an address 'city' => a city name ) ) [return] => Array ( [0] => Array ( [type] => void [description] => if echo flag $p1 is true a line of comment to test parsing ) [1] => Array ( [type] => string [description] => the printable solution if echo flag is false (default) ) ) [info] => Array ( [warning] => unstable ) ) [hello] => Array ( [source] => Array ( [comment] => /** * Very simple method. * * @return (void) */ [code] => function hello() { echo "Hello world!"; } [line] => 235 [return_type] => void [parameters] => void [member] => public ) [description] => Array ( [short] => Very simple method. ) [return] => Array ( [0] => Array ( [type] => void [description] => ) ) ) ) [constructor] => Array ( [source] => Array ( [comment] => /** * Constructor with PHP4 class syntax. * * Print an instance creation message. * * @public * @return (object) an instance of this class */ [code] => function Class7() { echo "A new instance has been created."; } [line] => 129 [return_type] => object [parameters] => void [member] => public ) [description] => Array ( [short] => Constructor with PHP4 class syntax. [long] => Print an instance creation message. ) [return] => Array ( [0] => Array ( [type] => object [description] => an instance of this class ) ) [info] => Array ( [public] => yes ) ) [public_method] => Array ( [Class7] => Array ( [source] => Array ( [comment] => /** * Constructor with PHP4 class syntax. * * Print an instance creation message. * * @public * @return (object) an instance of this class */ [code] => function Class7() { echo "A new instance has been created."; } [line] => 129 [return_type] => object [parameters] => void [member] => public ) [description] => Array ( [short] => Constructor with PHP4 class syntax. [long] => Print an instance creation message. ) [return] => Array ( [0] => Array ( [type] => object [description] => an instance of this class ) ) [info] => Array ( [public] => yes ) ) [mlotdoc] => Array ( [source] => Array ( [comment] => /** * A method with significant documenting comments. * * Unordered list is a sequence of lines starting all with same -+* bullet, * indented on same column at least 2 spaces from margin star, so * * - list item 1 * on two lines * - second item * - another list item * + sublist it1 * + sublist it2 * * subsub A * * subsub B * * subsub C * - another ? * again! * * is translate into an HTML unordered list (max 8 items by list, * nested up to 4 levels) * * @warning unstable * @param (int) $p1 the first parameter * @param (mixed) $p2 the title of text (string) * or false (bool) to get all * @param (string) $p3 the third parameter * is commented onto * several lines * - list item A * - list item B * @param (array) $p4 the address structured list: * 'name' => a name * 'address' => an address * 'city' => a city name * @return (void) if echo flag $p1 is true * a line of comment to test parsing * (string) the printable solution if echo flag is false (default) */ [code] => function mlotdoc($p1, $p2 = "a string", $p3 = "another string", $p4 = array()) { if ($p1) { return; } else { return "whatever"; } } [line] => 221 [return_type] => mixed [parameters] => int p1 [, mixed p2 [, string p3 [, array p4]]] [member] => public ) [description] => Array ( [short] => A method with significant documenting comments. [long] => Unordered list is a sequence of lines starting all with same -+* bullet, indented on same column at least 2 spaces from margin star, so - list item 1 on two lines - second item - another list item + sublist it1 + sublist it2 * subsub A * subsub B * subsub C - another ? again! is translate into an HTML unordered list (max 8 items by list, nested up to 4 levels) ) [param] => Array ( [p1] => Array ( [type] => int [default] => [reference] => [description] => the first parameter ) [p2] => Array ( [type] => mixed [default] => "a string" [reference] => [description] => the title of text (string) or false (bool) to get all ) [p3] => Array ( [type] => string [default] => "another string" [reference] => [description] => the third parameter is commented onto several lines - list item A - list item B ) [p4] => Array ( [type] => array [default] => array() [reference] => [description] => the address structured list: 'name' => a name 'address' => an address 'city' => a city name ) ) [return] => Array ( [0] => Array ( [type] => void [description] => if echo flag $p1 is true a line of comment to test parsing ) [1] => Array ( [type] => string [description] => the printable solution if echo flag is false (default) ) ) [info] => Array ( [warning] => unstable ) ) [hello] => Array ( [source] => Array ( [comment] => /** * Very simple method. * * @return (void) */ [code] => function hello() { echo "Hello world!"; } [line] => 235 [return_type] => void [parameters] => void [member] => public ) [description] => Array ( [short] => Very simple method. ) [return] => Array ( [0] => Array ( [type] => void [description] => ) ) ) ) [private_method] => Array ( [mpbyref] => Array ( [source] => Array ( [comment] => /** * A method with parameters passed by reference. * * The function statement presents the & reference char in * different places (& $p1 and &$p2). * * @warning unstable * @private * @param (string) $p1 the 1st parameter * @param (bool) $p2 the 2nd parameter * has a two-line comment * @return (string) the function result */ [code] => function mpbyref(& $p1, &$p2) { return $p1; } [line] => 166 [return_type] => string [parameters] => string p1, bool p2 [member] => private ) [description] => Array ( [short] => A method with parameters passed by reference. [long] => The function statement presents the & reference char in different places (& $p1 and &$p2). ) [param] => Array ( [p1] => Array ( [type] => string [default] => [reference] => yes [description] => the 1st parameter ) [p2] => Array ( [type] => bool [default] => [reference] => yes [description] => the 2nd parameter has a two-line comment ) ) [return] => Array ( [0] => Array ( [type] => string [description] => the function result ) ) [info] => Array ( [warning] => unstable [private] => yes ) ) [mnop] => Array ( [source] => Array ( [comment] => /** * A method with no parameter. * * @final * @private * @return (void) */ [code] => function mnop() { print get_class_name($this); } [line] => 178 [return_type] => void [parameters] => void [member] => private final ) [description] => Array ( [short] => A method with no parameter. ) [return] => Array ( [0] => Array ( [type] => void [description] => ) ) [info] => Array ( [final] => yes [private] => yes ) ) ) [protected_method] => Array ( [m3param] => Array ( [source] => Array ( [comment] => /** * A method with 3 parameters. * * @protected * @param (string) $p1 the first parameter * @param (int) $p2 the second parameter * @param (string) $p3 the 3rd parameter * @return (void) */ [code] => function m3param($p1, $p2, $p3) { // Print the 3 parameters echo $p1 . "\n"; echo $p2 . "\n"; echo $p3 . "\n"; return true; } [line] => 143 [return_type] => void [parameters] => string p1, int p2, string p3 [member] => protected ) [description] => Array ( [short] => A method with 3 parameters. ) [param] => Array ( [p1] => Array ( [type] => string [default] => [reference] => [description] => the first parameter ) [p2] => Array ( [type] => int [default] => [reference] => [description] => the second parameter ) [p3] => Array ( [type] => string [default] => [reference] => [description] => the 3rd parameter ) ) [return] => Array ( [0] => Array ( [type] => void [description] => ) ) [info] => Array ( [protected] => yes ) ) ) [public_property] => Array ( [anint] => Array ( [source] => Array ( [comment] => /** * Integer property. * * The @type info is mandatory for property documenting. * * @type int */ [code] => var $anint = 27; [initial] => 27 [line] => 73 [member] => public ) [description] => Array ( [short] => Integer property. [long] => The @type info is mandatory for property documenting. ) [info] => Array ( [type] => int ) ) [apsint] => Array ( [source] => Array ( [comment] => /** * Protected and static integer property. * * This property has an initial value. * * @type int */ [code] => var $apsint = 0; [line] => 82 [member] => public ) [description] => Array ( [short] => Protected and static integer property. [long] => This property has an initial value. ) [info] => Array ( [type] => int ) ) [mixer] => Array ( [source] => Array ( [comment] => /** * Mixed property. * * The "type" comment is required so if * property type isn't sure, use "mixed". * * @type mixed */ [code] => var $mixer; [line] => 92 [member] => public ) [description] => Array ( [short] => Mixed property. [long] => The "type" comment is required so if property type isn't sure, use "mixed". ) [info] => Array ( [type] => mixed ) ) [privob] => Array ( [source] => Array ( [comment] => /** * Private property. * * @type object */ [code] => var $privob; [line] => 99 [member] => public ) [description] => Array ( [short] => Private property. ) [info] => Array ( [type] => object ) ) [protob] => Array ( [source] => Array ( [comment] => /** * Protected property. * * @type object */ [code] => var $protob; [line] => 106 [member] => public ) [description] => Array ( [short] => Protected property. ) [info] => Array ( [type] => object ) ) [multi] => Array ( [source] => Array ( [comment] => /** * Stack of XHTML formated output string. * * This property has a "multiline" initial value. * * @type array */ [code] => var $multi = array( 'next' => "
", 'nl' => "
", 'trap' => "a ; to trap value parsing", ); [initial] => array( 'next' => "
", 'nl' => "
", 'trap' => "a ; to trap value parsing", ) [line] => 115 [member] => public ) [description] => Array ( [short] => Stack of XHTML formated output string. [long] => This property has a "multiline" initial value. ) [info] => Array ( [type] => array ) ) ) [private_property] => Array ( ) [protected_property] => Array ( ) )