[PEPr] +1 for Networking::Net_FastCGI
| From: | Michael Gauthier | Date: | Wed, 29 Oct 2008 22:45:06 +0000 |
| Subject: | [PEPr] +1 for Networking::Net_FastCGI | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-50985@lists.php.net to get a copy of this message | ||
Michael Gauthier (http://pear.php.net/user/gauthierm) has voted +1 on the proposal for
Networking::Net_FastCGI.
Proposal information:
http://pear.php.net/pepr/pepr-proposal-show.php?id=579
Vote information:
http://pear.php.net/pepr/pepr-vote-show.php?id=579&handle=gauthierm
This vote is conditional. The condition is:
Code is well written and documented. I have a few comments, suggestions and questions.
1.) Is this a replacement or addition to compiling PHP with --enable-fastcgi? Does it provide
benefits above and beyond the extension? See http://php.net/manual/en/configure.php#configure.enable-fastcgi
2.) Since this is a fairly complicated package, end user documentation is necessary. Include:
- What Net_FastCGI does,
- How you configure a server to use it.
3.) Protected properties need documentation.
4.) Documentation should be written in third person declarative. Use "Stops the server."
instead of "Stop the server". See http://pear.php.net/manual/en/standards.sample.php
5.) The package2.xml should have a dependency on posix because the pnctl functions won't work
on windows. It should also have a dependency on the PHP pnctl extension.
6.) The @see tag only links to inline documentation. You'll need to use a @link tag to link to
php functions in documentation. For example: "@link http://foo/bar
bar" will work.
7.) A license other then the PHP license would be nice but is not required. The PHP license is
incompatible with a lot of other open-source licenses.
8.) Auto-detection of the php-cgi binary location would be nice. You could check a list of common
locations for various distros (Ubuntu, Fedora, OSX, built from source) and if it's not found
and is not specified, throw an exception. See Crypt_GPG for an example.
9.) Environment variables could default to $_ENV if not specified.
10.) Specific exception classes are needed. Net_FastCGI_InvalidSocketException, etc.
11.) Linking to a RFC or specification in the documentation of packing and unpacking of data would
be useful.
12.) Where strlen() is used, consider using a method that handles the case when mbstring function
overloading is enabled. See Crypt_GPG_Engine::_byteLength() for an example. Same goes for substr().
13.) s/readden/read in documentation.
14.) Have you tested sending large responses and receiving large requests? This might turn up bugs
in the process control and IO-streaming code.
--
Sent by PEPr, the automatic proposal system at http://pear.php.net