#44885 [Bgs]: grouped optional args is no longer supported
| From: | rquadling@php.net | Date: | Fri, 02 May 2008 09:27:49 +0000 |
| Subject: | #44885 [Bgs]: grouped optional args is no longer supported | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-773@lists.php.net to get a copy of this message | ||
ID: 44885
Updated by: rquadling@php.net
Reported By: colder@php.net
Status: Bogus
Bug Type: Doc Build problem
Operating System: Irrelevant
PHP Version: Irrelevant
New Comment:
Docbook doesn't have a methodparamgroup like tag (made up name).
If it did and the group could be marked choice="opt" and could be
nested, then this would work be used.
Another option is to not render the ] as part of the <methodparam>
tag.
Instead, accumulate a count for the <methodsynopsis> and render all the
] at the close of </methodsynopsis>
That way every choice="opt" would act as another level of option-ness.
Currently though, as Hannes says, 2 methodsynopsis is the route being
used.
Previous Comments:
------------------------------------------------------------------------
[2008-05-02 07:28:12] bjori@php.net
> if (only the first arg is optional) {
> make them all optional together;
> }
That will break bunch of array_*() argument listing were the optional
parameter is the 3rd of 5.
This was an error in the XSL which was fixed in PhD.
The markup for rand() is simply wrong. This function can be used in two
different ways, either by passing no parameters or two.
The correct way to do this is having two methodsynopsis, one that takes
no arguments and another one that takes two (requiered) arguments.
-Hannes
------------------------------------------------------------------------
[2008-05-01 23:54:59] philip@php.net
The trouble with that is this:
int rand ([ int $min [, int $max ]] )
versus this:
int rand ([ int $min , int $max ] )
and rand() follows the latter because it requires either 0 or 2
arguments and not 1. PhD creates the first if choice="opt" is used
twice.
So basically we need a syntax for each and it appears both our dsssl
and xsl based build systems treated this differently. The BC approach
would add the following to PhD:
if (only the first arg is optional) {
make them all optional together;
}
But it's a strange syntax and ideally we'd come up with some better
markup.
------------------------------------------------------------------------
[2008-05-01 23:54:21] colder@php.net
Well no, that will make it rand([min[, max]]), which is also wrong,
it's rand([min, max]) as in either the two or none.
------------------------------------------------------------------------
[2008-05-01 23:53:13] colder@php.net
title made no sense
------------------------------------------------------------------------
[2008-05-01 23:27:17] cellog@php.net
correct is:
<methodparam
choice="opt"><type>int</type><parameter>min</parameter></methodparam>
<methodparam
choice="opt"><type>int</type><parameter>max</parameter></methodparam>
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/44885
--
Edit this bug report at http://bugs.php.net/?id=44885&edit=1