Annotation of embedaddon/php/TODO, revision 1.1
1.1 ! misho 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>