php-src/TODO

161 lines
5.9 KiB
Plaintext
Raw Normal View History

1999-10-27 03:49:36 +08:00
Things to do or at least think about doing in the future. Name in
parenthesis means that person has taken on this project.
2000-02-02 19:37:22 +08:00
Zend
----
2002-03-01 18:02:48 +08:00
For PHP 4.3.0:
* Allow foreach ($array as $k => &$val) syntax. right now we cannot
2000-02-27 00:14:34 +08:00
traverse an array without copying each element.
2002-03-01 18:02:48 +08:00
* Allow foreach ($array as $k => list($a, $b)) syntax for multi
2001-02-05 22:29:21 +08:00
dimensional arrays.
2002-03-01 18:02:48 +08:00
* 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.
2001-08-23 17:18:21 +08:00
* Add configure test to determine if dlsym() requires underscore and set
DLSYM_NEEDS_UNDERSCORE accordingly. Perl and zsh have it in configure,
2002-03-01 18:02:48 +08:00
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.
* Add try..catch/throw exception handling.
* Fix Zend shallow copy issues with objects and arrays.
2000-02-02 19:37:22 +08:00
1999-11-24 04:53:20 +08:00
global
------
2002-03-01 18:02:48 +08:00
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()
1999-12-23 20:52:12 +08:00
calls should have a dtor entry.
2002-03-01 18:02:48 +08:00
* 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.
1999-12-22 02:56:09 +08:00
* --enable-all in configure. (--enable-shared=max ...)
* make configure print out a summary when it's done (like XEmacs)
1999-11-24 04:53:20 +08:00
* replace standard functions which work on static data with
2000-11-03 01:07:19 +08:00
reentrancy-safe functions (DONE?).
2000-01-07 19:12:29 +08:00
* make SAPI conform to CGI/1.1. Currently, all SAPI modules
define REMOTE_ADDR etc. themselves and reach only various level
of compliance.
2002-03-01 18:02:48 +08:00
* 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.
2000-04-01 23:51:34 +08:00
* 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.
2002-03-01 18:02:48 +08:00
1999-11-24 06:35:23 +08:00
documentation
-------------
2002-03-01 18:02:48 +08:00
* 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.
2001-02-04 17:19:01 +08:00
ext/curl
--------
2001-02-05 22:27:10 +08:00
* Have a warning scheme for when people use unsupported features.
1999-11-24 04:53:20 +08:00
1999-12-05 01:30:39 +08:00
ext/oci8
--------
2002-03-01 18:02:48 +08:00
* 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
1999-12-05 01:30:39 +08:00
2000-05-02 01:58:39 +08:00
ext/pcre
--------
2001-02-08 12:55:49 +08:00
* Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe
2000-04-16 21:44:38 +08:00
2002-03-01 18:02:48 +08:00
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.
2001-02-04 17:19:01 +08:00
2000-05-29 23:54:38 +08:00
ext/session
-----------
2002-03-01 18:02:48 +08:00
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
2000-05-29 23:54:38 +08:00
locked individually.
2002-03-01 18:02:48 +08:00
* Write a network-transparent storage back-end with fallover
2000-06-30 08:40:07 +08:00
facilities
2002-03-01 18:02:48 +08:00
* Provide a callback facility which is executed upon encountering
an unknown class name during deserialization
2000-05-29 23:54:38 +08:00
2001-02-04 17:19:01 +08:00
ext/sockets
-----------
* Make the extension work on windows (Daniel Beulshausen)
2001-02-05 22:27:10 +08:00
* Make the extension work with Solaris and the Sun GCC
2001-02-04 17:19:01 +08:00
1999-10-27 03:49:36 +08:00
ext/standard
------------
2002-03-01 18:02:48 +08:00
* Add a version number to data serialized via serialize().
* Possibly modify parsing of GPC data to automatically create arrays if
2000-02-16 22:50:48 +08:00
variable name is seen more than once.
2002-03-01 18:02:48 +08:00
* Implement regex-cache for url-functions.
2001-02-09 03:11:47 +08:00
* stri_replace(). (Andrei)
2002-03-01 18:02:48 +08:00
* Move socket related functions to fsock.c.
1999-12-22 02:56:09 +08:00
* NOT binary safe:
strtok()
basename()
dirname()
strrpos()
strrchr()
strip_tags()
2002-03-01 18:02:48 +08:00
* Rewrite win32 SMTP code to be usable for *ix to, maybe as a (default)
2000-10-12 06:54:56 +08:00
module of its own (Hartmut)
2000-05-02 01:58:39 +08:00
ext/wddx
--------
2002-03-01 18:02:48 +08:00
* See if we can support the remaining data types:
2000-05-02 01:58:39 +08:00
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