mirror of
https://github.com/php/php-src.git
synced 2024-11-25 19:05:31 +08:00
164 lines
6.1 KiB
Plaintext
164 lines
6.1 KiB
Plaintext
Things to do or at least think about doing in the future. Name in
|
|
parenthesis means that person has taken on this project.
|
|
|
|
Zend
|
|
----
|
|
* Allow foreach ($array as $k => list($a, $b)) syntax for multi
|
|
dimensional arrays.
|
|
* Look at replacing c-lib call tolower().
|
|
* Make hash API functions work with HASH_OF() to save time.
|
|
* Allow to set a default value for call-by-reference-parameters.
|
|
eg: function hello (&$pallo = NULL) {}
|
|
* Add configure test to determine if dlsym() requires underscore and set
|
|
DLSYM_NEEDS_UNDERSCORE accordingly. Perl and zsh have it in configure,
|
|
for example. (DONE?)
|
|
* Allow foreach ($array as $k => &$val) syntax. right now we cannot
|
|
traverse an array without copying each element.
|
|
* Native large number support (probably with GNU GMP)
|
|
* Const'ify APIs. Right now, many functions leave parameters untouched,
|
|
but don't declare those as const. This makes interaction with other
|
|
interfaces difficult which pass const parameters to us.
|
|
|
|
|
|
global
|
|
------
|
|
* Make sure that all ZTS globals get destructed. Most ts_allocate_id()
|
|
calls should have a dtor entry.
|
|
* on some platforms unimplemented function will just do nothing
|
|
(e.g. symlink) they should print a warning or not even be defined!
|
|
(DONE ?)
|
|
* --enable-all in configure. (--enable-shared=max ...)
|
|
* make configure print out a summary when it's done (like XEmacs)
|
|
* replace standard functions which work on static data with
|
|
reentrancy-safe functions (DONE?).
|
|
* make SAPI conform to CGI/1.1. Currently, all SAPI modules
|
|
define REMOTE_ADDR etc. themselves and reach only various level
|
|
of compliance.
|
|
* see what functions might need to be changed to use HashPosition, so
|
|
that the internal array pointer is not affected.
|
|
* Move most extensions and PEAR packages out of the PHP CVS tree,
|
|
include them again during release packaging.
|
|
|
|
Other
|
|
* use thread-safe resolver functions (either require BIND 8 or adns).
|
|
* implement javadoc based function docs template system.
|
|
* provide optional IPv6 support (seems to be done?).
|
|
* find a better way to implement script timeouts. SIGVTALRM is used
|
|
by some POSIX threads implementations (i.e. OpenBSD) and is not
|
|
available in ZTS mode.
|
|
* Implement flush feature suitable for nested output buffers.
|
|
|
|
Streams
|
|
-------
|
|
* Route filestat.c through the wrapper layer; isolate the statcache code
|
|
so that it is independent of php functions and can be applied to any
|
|
stream/path.
|
|
* Implement generalized connection pool for stated protocols such as
|
|
ftp and http/1.1 (using keep-alive) to avoid having to negotiate
|
|
new command/request stream for each subsequent call; Possibly store
|
|
resources in contexts (creating a default context if necessary) to
|
|
allow segmentation of connection pools.
|
|
* Add a method to take ownership of the memory buffer in memory streams so
|
|
that generating string values for zvals doesn't require an estrdup.
|
|
* bundle and use curl lib for fopen wrapper.
|
|
|
|
documentation
|
|
-------------
|
|
* Add remarks in the documentation which functions are not implemented
|
|
on win32.
|
|
* Add remarks in the documentation which functions are not binary-safe.
|
|
* Update curl documentation (DONE?)
|
|
* Add developer documentation.
|
|
* Add detailed documentation for Java extension.
|
|
|
|
ext/bz2
|
|
-------
|
|
* Add an ini directive to specify the size of decompression buffer.
|
|
The default 4k is too small for large files and also requires much time
|
|
for decompression. 40k is suitable for such files, however it may be too
|
|
much under certain environments. There should be appropriate default
|
|
settings for the various SAPI modules (e.g. apache and cli).
|
|
|
|
ext/curl
|
|
--------
|
|
* Have a warning scheme for when people use unsupported features.
|
|
|
|
ext/oci8
|
|
--------
|
|
* All OCIFetch*() functions should return 0 for no more data and false on
|
|
error.
|
|
* Have a flag that trims trailing spaces from CHAR fields on retrieval.
|
|
* Make allow_call_time_pass_reference=Off working.
|
|
* For additional todo information, see oci8.c, in ext/oci8
|
|
|
|
ext/odbc
|
|
--------
|
|
For PHP 4.3.0:
|
|
* update all php_error calls to php_error_docref where valid
|
|
* integrate EXPERIMENTAL ODBC update for use in PHP 5.0, use for
|
|
testing purposes only.
|
|
|
|
For PHP 5.0.0
|
|
* Activate EXPERIMENTAL ODBC codebase update
|
|
|
|
ext/pcre
|
|
--------
|
|
* Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe
|
|
|
|
ext/pcntl
|
|
---------
|
|
* Change internal callback handler to use TICKS
|
|
* Remove all zend_extension code
|
|
* Add object callback support to pcntl_signal()
|
|
|
|
ext/pgsql
|
|
---------
|
|
For PHP 4.3.0:
|
|
* Add pg_metadata() with metadata cache feature.
|
|
* Add pg_convert() to check and convert array value for query.
|
|
* Add pg_insert/pg_update/pg_delete/pg_select for simple query.
|
|
|
|
ext/session
|
|
-----------
|
|
For PHP 4.3.0:
|
|
* session_abort() to abort session. ie: Do not save session data.
|
|
* Allow unset($_SESSION) or unset($HTTP_SESSION_VARS) to unset
|
|
session vars regardless of register_globals setting.
|
|
|
|
Other:
|
|
* Maybe implement finer-grained session variables that could be
|
|
locked individually.
|
|
* Write a network-transparent storage back-end with fallover
|
|
facilities
|
|
* Provide a callback facility which is executed upon encountering
|
|
an unknown class name during deserialization
|
|
|
|
ext/sockets
|
|
-----------
|
|
* Review/Fix vectors
|
|
|
|
ext/standard
|
|
------------
|
|
* Add a version number to data serialized via serialize().
|
|
* Possibly modify parsing of GPC data to automatically create arrays if
|
|
variable name is seen more than once.
|
|
* Implement regex-cache for url-functions.
|
|
* Move socket related functions to fsock.c.
|
|
|
|
ext/wddx
|
|
--------
|
|
* See if we can support the remaining data types:
|
|
dateTime
|
|
binary
|
|
|
|
http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
|
|
(Andrei)
|
|
|
|
* implement wddx_packet_as_javascript(). (Andrei)
|
|
|
|
other cool stuff
|
|
----------------
|
|
* PVM extension
|
|
|
|
vim:et:sw=4:ts=4
|