mirror of
https://github.com/php/php-src.git
synced 2024-11-30 13:25:43 +08:00
146 lines
5.5 KiB
Plaintext
146 lines
5.5 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 => &$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.
|
|
* 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.
|
|
* add try..catch/throw exception handling
|
|
* Add configure test to determine if dlsym() requires underscore and set
|
|
DLSYM_NEEDS_UNDERSCORE accordingly. Perl and zsh have it in configure,
|
|
for example.
|
|
|
|
global
|
|
------
|
|
* when used in standalone (skell-script like) mode don't urldecode
|
|
arguments passed to php. right now it's not possible to say
|
|
/usr/local/bin/php somescript.php dog+cat.txt
|
|
as "dog+cat.txt" will arrive in php as "dog cat.txt".
|
|
* make everything on the language-level independent of your locale setings.
|
|
* always build the standalone executable as well as the chosen SAPI
|
|
target.
|
|
* make sure all source files have the "right" copyright.
|
|
* the following modules still use PHP3_TLS_*() macros (and thereby don't
|
|
work in ZTS mode): ext/db/db.c, ext/gd/gd.c
|
|
* 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
|
|
dependices. (eg ftp)
|
|
* --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?).
|
|
* on some platforms unimplemented function will just do nothing (e.g. symlink)
|
|
they should print a warning or not even be defined!
|
|
* implement javadoc based function docs template system.
|
|
* use thread-safe resolver functions (either require BIND 8 or adns).
|
|
* provide optional IPv6 support.
|
|
* make SAPI conform to CGI/1.1. Currently, all SAPI modules
|
|
define REMOTE_ADDR etc. themselves and reach only various level
|
|
of compliance.
|
|
* 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.
|
|
* add aliases to functions to conform to new naming conventions, e.g.
|
|
str_to_upper().
|
|
* see what functions might need to be changed to use HashPosition, so
|
|
that the internal array pointer is not affected.
|
|
|
|
documentation
|
|
-------------
|
|
* add remarks in the documentation which functions are not implemented on win32.
|
|
* add remarks in the documentation which functions are not binary-safe.
|
|
* improve documentation for the sablotron extension
|
|
* update curl documentation
|
|
* write documentation for the bzip2 extension
|
|
* write documentation for the zziplib extension
|
|
|
|
ext/curl
|
|
--------
|
|
* Use the cURL write handler to save data for use when returning data or outputting
|
|
data.
|
|
* Have a warning scheme for when people use unsupported features.
|
|
|
|
ext/dav
|
|
--------
|
|
* rewrite.
|
|
|
|
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
|
|
* add option to preg_grep() to return entries that _don't_ match
|
|
|
|
ext/sablot
|
|
----------
|
|
* Re-write the error handling and reporting interface
|
|
* Cleanup the underlying code a bit
|
|
* Add proper support for the message handlers
|
|
|
|
ext/session
|
|
-----------
|
|
* 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 classname during deserialization
|
|
|
|
ext/sockets
|
|
-----------
|
|
* Make the extension work on windows (Daniel Beulshausen)
|
|
* Make the extension work with Solaris and the Sun GCC
|
|
|
|
ext/standard
|
|
------------
|
|
* add a version number to data serialized via serialize().
|
|
* array_add(). (Andrei)
|
|
* 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()
|
|
* rewrite win32 SMTP code to be useable for *ix to, maybe as a (default)
|
|
module of its own (Hartmut)
|
|
|
|
ext/zziplib
|
|
------------
|
|
* more fully support the zziplib api
|
|
|
|
ext/wddx
|
|
--------
|
|
* See if we can support the remaining datatypes:
|
|
dateTime
|
|
binary
|
|
recordset
|
|
|
|
http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
|
|
(Andrei)
|
|
|
|
* implement wddx_packet_as_javascript(). (Andrei)
|
|
|
|
other cool stuff
|
|
----------------
|
|
* PVM extension
|