You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
5.2 KiB

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