Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: php-4.3.3RC2
Fetching contributors…

Cannot retrieve contributors at this time

file 175 lines (150 sloc) 6.35 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
Things to do or at least think about doing in the future. Name in
parenthesis means that person has taken on this project.

Zend
----
    For PHP 4.3.0:
    * Allow foreach ($array as $k => &$val) syntax. right now we cannot
      traverse an array without copying each element.
    * Allow foreach ($array as $k => list($a, $b)) syntax for multi
      dimensional arrays.
    * 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.
    * Add configure test to determine if dlsym() requires underscore and set
      DLSYM_NEEDS_UNDERSCORE accordingly. Perl and zsh have it in configure,
      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.


global
------
    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()
      calls should have a dtor entry.
    * 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?)

    For PHP 5.0.0
    * bundle and use curl lib for fopen wrapper.
    * --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
      reentrancy-safe functions (DONE?).
    * make SAPI conform to CGI/1.1. Currently, all SAPI modules
      define REMOTE_ADDR etc. themselves and reach only various level
      of compliance.
    * 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.
    * 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.
    * Implement flush feature suitable for nested output buffers.


documentation
-------------
    * 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.

ext/bz2
-------
    * Add an ini directive to specify the size of decompression buffer.
      The default 4k is too small for large files and also requires much time
      for decompression. 40k is suitable for such files, however it may be too
      much under certain environments. There should be appropriate default
      settings for the various SAPI modules (e.g. apache and cli).

ext/curl
--------
    * Have a warning scheme for when people use unsupported features.

ext/oci8
--------
    * 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

ext/odbc
--------
    For PHP 4.3.0:
    * update all php_error calls to php_error_docref where valid
    * integrate EXPERIMENTAL ODBC update for use in PHP 5.0, use for
      testing purposes only.

    For PHP 5.0.0
    * Activate EXPERIMENTAL ODBC codebase update

ext/pcre
--------
    * Allow user to set PCRE_NOTEMPTY, PCRE_ANCHORED at execution time, maybe

ext/pcntl
---------
    * Change internal callback handler to use TICKS
    * Remove all zend_extension code
    * Add object callback support to pcntl_signal()

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.

ext/session
-----------
    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
      locked individually.
    * Write a network-transparent storage back-end with fallover
      facilities
    * Provide a callback facility which is executed upon encountering
      an unknown class name during deserialization

ext/sockets
-----------
    * Implement IPv6
    * Review/Fix vectors

ext/standard
------------
    * Add a version number to data serialized via serialize().
    * Possibly modify parsing of GPC data to automatically create arrays if
      variable name is seen more than once.
    * Implement regex-cache for url-functions.
    * stri_replace(). (Andrei)
    * Move socket related functions to fsock.c.
    * NOT binary safe:
        strtok()
        basename()
        dirname()
        strrpos()

ext/wddx
--------
    * See if we can support the remaining data types:
        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
Something went wrong with that request. Please try again.