Re: HTML_Menu
| From: | Alexey Borzov | Date: | Sat, 03 Jan 2004 17:27:27 +0000 |
| Subject: | Re: HTML_Menu | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-24730@lists.php.net to get a copy of this message | ||
Hi!
Aidan Lister wrote:
I was wondering why the API for this package is so different to others of the same group.Well, the package is *old*, see this: http://cvs.php.net/cvs.php/php4.unused/pear/HTML/Attic/Menu.php?sa=1&login=2 The original developer stopped working on it 2 years ago, then it was in CVS only, with no actual release. Then I took over the maintainership and made a legacy 1.0 release followed by a 2.0
There is no display() method, instead you choose show(). There is no toHTML() method, instead you choose get(). (Using HTML_Table, HTML_Page, as comparative)1) There is currently no *standard* on method names in PEAR 2) These method names *are* consistent with Ulf Wendel's other packages (see HTML_Template_IT for example) But you have a point here nonetheless, I'll probably add display() and toHTML() as aliases in the next release.
No effort (forgive me if I'm mistaking) has been made to format the HTML (as done in above packages). Things like new lines, tabs, etc.I see no real point in formatting the generated HTML, as it is not intended for human consumption. Though you can customize the templates you use for rendering the menu and add as many tabs and newlines as you like. ;]
I love HTML_Menu, It's a real time saver, but I'd hardly call it stable compared to some of the other packages.Let's revisit what 'stable' is. Is HTML_Menu's API stable? Definitely, no BC breaks for 2 years (well, almost). Does it have open bugs? None except for your feature request. Does it have usage examples? Yes. Does it have docs? Yes (unlike HTML_Page mentioned above) So what is unstable in HTML_Menu? ;]
I'd be more than willing to offer my assistance in further developement.Glad to hear that. The package may benefit from 1) Unit tests; 2) New renderers; 3) Usage example for Array renderer and Smarty.