1: Things to do or at least think about doing in the future. Name in
2: parenthesis means that person has taken on this project.
3:
4: Zend
5: ----
6: * Allow foreach ($array as $k => list($a, $b)) syntax for multi
7: dimensional arrays.
8: * Look at replacing c-lib call tolower().
9: * Make hash API functions work with HASH_OF() to save time.
10: * Native large number support (probably with GNU GMP)
11: * Const'ify APIs. Right now, many functions leave parameters untouched,
12: but don't declare those as const. This makes interaction with other
13: interfaces difficult which pass const parameters to us.
14:
15:
16: global
17: ------
18: * Make sure that all ZTS globals get destructed. Most ts_allocate_id()
19: calls should have a dtor entry.
20: * on some platforms unimplemented function will just do nothing
21: (e.g. symlink) they should print a warning or not even be defined!
22: (DONE ?)
23: * --enable-all in configure. (--enable-shared=max ...)
24: * make configure print out a summary when it's done (like XEmacs)
25: * replace standard functions which work on static data with
26: reentrancy-safe functions (DONE?).
27: * make SAPI conform to CGI/1.1. Currently, all SAPI modules
28: define REMOTE_ADDR etc. themselves and reach only various level
29: of compliance.
30: * see what functions might need to be changed to use HashPosition, so
31: that the internal array pointer is not affected.
32: * Move most extensions and PEAR packages out of the PHP CVS tree,
33: include them again during release packaging.
34:
35: Other
36: * use thread-safe resolver functions (either require BIND 8 or adns).
37: * implement javadoc based function docs template system.
38: * provide optional IPv6 support (seems to be done?).
39: * find a better way to implement script timeouts. SIGVTALRM is used
40: by some POSIX threads implementations (i.e. OpenBSD) and is not
41: available in ZTS mode.
42: * Implement flush feature suitable for nested output buffers.
43:
44: Streams
45: -------
46: * Route filestat.c through the wrapper layer; isolate the statcache code
47: so that it is independent of php functions and can be applied to any
48: stream/path.
49: * Implement generalized connection pool for stated protocols such as
50: ftp and http/1.1 (using keep-alive) to avoid having to negotiate
51: new command/request stream for each subsequent call; Possibly store
52: resources in contexts (creating a default context if necessary) to
53: allow segmentation of connection pools.
54: * Add a method to take ownership of the memory buffer in memory streams so
55: that generating string values for zvals doesn't require an estrdup.
56: * bundle and use curl lib for fopen wrapper.
57:
58: documentation
59: -------------
60: * Add remarks in the documentation which functions are not implemented
61: on win32.
62: * Add remarks in the documentation which functions are not binary-safe.
63: * Update curl documentation (DONE?)
64: * Add developer documentation.
65: * Add detailed documentation for Java extension.
66:
67: ext/curl
68: --------
69: * Have a warning scheme for when people use unsupported features.
70:
71: ext/oci8
72: --------
73: * All OCIFetch*() functions should return 0 for no more data and false on
74: error.
75: * Have a flag that trims trailing spaces from CHAR fields on retrieval.
76: * Make allow_call_time_pass_reference=Off working.
77: * For additional todo information, see oci8.c, in ext/oci8
78:
79: ext/odbc
80: --------
81: For PHP 4.3.0:
82: * update all php_error calls to php_error_docref where valid
83: * integrate EXPERIMENTAL ODBC update for use in PHP 5.0, use for
84: testing purposes only.
85:
86: For PHP 5.0.0
87: * Activate EXPERIMENTAL ODBC codebase update
88:
89: ext/pcre
90: --------
91: * Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe
92:
93: ext/pcntl
94: ---------
95: * Change internal callback handler to use TICKS
96: * Remove all zend_extension code
97: * Add object callback support to pcntl_signal()
98:
99: ext/session
100: -----------
101: For PHP 4.3.0:
102: * session_abort() to abort session. ie: Do not save session data.
103: * Allow unset($_SESSION) or unset($HTTP_SESSION_VARS) to unset
104: session vars regardless of register_globals setting.
105:
106: Other:
107: * Maybe implement finer-grained session variables that could be
108: locked individually.
109: * Write a network-transparent storage back-end with fallover
110: facilities
111: * Provide a callback facility which is executed upon encountering
112: an unknown class name during deserialization
113:
114: ext/standard
115: ------------
116: * Add a version number to data serialized via serialize().
117: * Possibly modify parsing of GPC data to automatically create arrays if
118: variable name is seen more than once.
119: * Implement regex-cache for url-functions.
120: * Move socket related functions to fsock.c.
121:
122: ext/wddx
123: --------
124: * See if we can support the remaining data types:
125: binary
126:
127: http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm
128: (Andrei)
129:
130: * implement wddx_packet_as_javascript(). (Andrei)
131:
132: other cool stuff
133: ----------------
134: * PVM extension
135:
136: vim:et:sw=4:ts=4
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>