You know, I saw that manual entry. glob doesn't recognize the +. Only * or ? but from a shell context. Like in a shell context, ? is really like a dot (.) in that it matches any one character (other than a new line) and * is the same: 0 or more. But + (1 or more) is not supported. I tried it even from a bash prompt and no dice on the +. So yeah, that user comment is wrong.
Also * acts on its own accord. So for instance, if I did a*.php the * is independent of the 'a'. glob("a*.php") will return all of the following, but the * itself will only match:
a.php // * matches nothing
aa.php // * matches the 2nd a
ab.php // * matches 'b'
abc.php // * matches 'bc'
As far as the ? goes, like I said, it's really like a "pcre" dot (.) in that it matches any one character (not 0 or 1) so if you did
glob("a?.php"); against
a.php
aa.php
ab.php
abc.php
aa.php and ab.php would be returned.