mirror of
https://github.com/php/php-src.git
synced 2024-12-29 03:39:59 +08:00
171 lines
6.2 KiB
Plaintext
171 lines
6.2 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
|
|
----
|
|
For PHP 4.3.0:
|
|
* Allow foreach ($array as $k => &$val) syntax. right now we cannot
|
|
traverse an array without copying each element.
|
|
* 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) {}
|
|
* Disallow function(method) redefinition in class.
|
|
* 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?)
|
|
|
|
For PHP 5.0.0:
|
|
* 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
|
|
------
|
|
For PHP 4.3.0:
|
|
* Add aliases to functions to conform to new naming conventions, e.g.
|
|
str_to_upper().
|
|
* Make all extensions thread-safe.
|
|
* Make everything on the language-level independent of your locale
|
|
settings.
|
|
* Change PHP error messages, so that they point to pages or sections
|
|
in the PHP Manual.
|
|
* Make sure that all ZTS globals get destructed. Most ts_allocate_id()
|
|
calls should have a dtor entry.
|
|
* Activate all extensions by default that don't rely on external
|
|
dependencies. (eg ftp) (DONE?)
|
|
* on some platforms unimplemented function will just do nothing
|
|
(e.g. symlink) they should print a warning or not even be defined!
|
|
(DONE ?)
|
|
* Use arg_separator.input to implode args in the CGI sapi extension
|
|
and arg_separator.input to explode in php_build_argv(). (DONE?)
|
|
* Change the odbc_fetch_into() function to require ALWAYS the first two
|
|
parameters ($conn_id and $array), and make the third (row) be optional.
|
|
* Remove --with-openlink configure option (--with-iodbc replaces it).
|
|
* Implement flush feature suitable for nested output buffers.
|
|
|
|
For PHP 5.0.0
|
|
* bundle and use curl lib for fopen wrapper.
|
|
* --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.
|
|
* 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.
|
|
|
|
|
|
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 ini setting for decompression buffer size. The default 4k is to small
|
|
for big files and takes ages to decompress. However, 40k which perform
|
|
quite good with big files may be to much under certain environments as
|
|
default setting. There should be consideren different default sizes for
|
|
different SAPIS (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/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
|
|
-----------
|
|
* Implement IPv6
|
|
* 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.
|
|
* stri_replace(). (Andrei)
|
|
* Move socket related functions to fsock.c.
|
|
* NOT binary safe:
|
|
strtok()
|
|
basename()
|
|
dirname()
|
|
strrpos()
|
|
strrchr()
|
|
strip_tags()
|
|
|
|
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
|