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 can not traverse an array without copying each element. * create typedefs for all kinds of callback functions - this would make casting easier. eg: zend_hash_apply(someht,(zend_apply_f) bla); global ------ * let every module (source-file) have it's own module & function_entry block. Right now the math functions are in math.c but the corresponding function-entries are in basic_functions. * 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 reentrant-save functions * there is only one current directory per process; to make chdir() etc. thread-safe, we must introduce a per-thread current directory * on some platforms unimplemented function will just do nothing (eg symlink) they should print a warning or be not even defined! * banish the legacy of php3_ prefixes * 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. documentation ------------- * add remarks in the documentation which functions are not implemented on win32. * add remarks in the documentation which functions are not binary-safe. ext/wddx -------- * implement wddx_packet_as_javascript(). (Andrei) ext/oci8 -------- * all OCIFetch*() functions should return 0 for no more data and false on error. ext/standard ------------ * implement pathinfo() * possibly modify parsing of GPC data to automatically create arrays if variable name is seen more than once. * implement regex-cache for url-functions. * strpad() (Andrei) * stri_replace() (Andrei) * comparing arrays semantically (like Python) (Andrei) * move socket related functions to fsock.c * NOT binary safe: strtok() basename() dirname() strrpos() strrchr() strip_tags()