On 5 Mar 2004 at 11:14, Stephan Schmidt wrote:
Put it online somwhere, send a link to the package as well as, if
possible, to phps-files to the pear-qa-list and we'll have a look.
That's the same as the proposal....
Best would be taking a look at the source in CVS:
http://cvs.php-tools.de/horde/chora/cvs.php/pear?rt=schstOh, alright ... missed that fact :-))
1) The examples should go into docs/examples/
Please have a look at the package directory structure:
http://pear.php.net/group/docs/20031114-pds.php2) Since createDocument is static, please provide a @static-tag in
the phpdoc-comments. If peardoc-build then might fail for you, grab
an updated version of the peardoc-template from phpDocumentor ...
Greg recently corrected a problem with @static if I remember
correctly.
3) In createDocument: Maybe remove the unneeded spaces behind "$doc
=". One space before and one after the equal-sign is enough ...
though this is surely no real CS-issue ... just a suggestion. Similar
things at other places also. Maybe because you replaced tabs with 4
whitespaces.
4) Regarding XUL/Document.php:
imho "enableValidation()" with a parameter of false to disable
validation shounds a bit strange. But I haven't got a better name
atm. Maybe "setValidation()" to be consequent to your other API-
functions?
5) In XML_XUL_Element you let people access $replaceEntities directly
(public attribute) but e.g. for validation you encapsulate the
validation with an "enable" function-call? Is the replacing used less
often or why did you decide to let it be set by the user directly?
6) Since you have a method serialize(), would it be an idea to maybe
also have unserialize() for loading a stored XUL again? Don't know
about the background ... just generally had the idea ...
7) In validateAttributes() you don't need to do a
reset($this->attributes);
at the beginning. This is already done automatically by foreach,
refering to
http://de.php.net/foreach8) In lastChild():
Imho you don't need the { } around $cnt-1, since the [] when
accessing the array already encapsulate.
9) Do you need all elements as separate objects / files? Since, as I
see it, $elementName always has the last part of the class name maybe
you could live fine with just a few classes? Or do you plan
additional implementations in all classes? If you plan additional
implementations, maybe it would be possible to avoid $elementName
since you can always digest it from the class name?
Didn't look at *all* specific elements - but all in all they seem
okay.
So from my side I didn't find any grave bugs ... just wrote down some
suggestions I head. All in all: Well done!
Stefan