summaryrefslogtreecommitdiff
path: root/TODO
blob: dbe7c412d55018d24c17c5a8d97f6d4d0401d2e0 (plain)
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
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.
    * look al replacing c-lib call tolower().

global
------
    * make sure all source files have the "right" copyright.
    * the following modules still use PHP3_TLS_*() macros (and thereby don't 
      work in ZTS mode): ext/dav/dav.c, ext/db/db.c, ext/gd/gd.c, ext/ldap/ldap.c
    * 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
    * 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)
    * check for incorrect *_r (time related) on HPSUX
    * 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.
    * 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.

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/pcre
--------
    * use/support latest pcre v3.1.
    * have a non-greedy option for preg_replace()

ext/wddx
--------
    * See if we can support the remaining datatypes:
        dateTime
        binary
        recordset

        http://www.wddx.org/WDDX_SDK_10a/7__References/WDDX_DTD.htm

    * implement wddx_packet_as_javascript(). (Andrei)

ext/dav
--------
    * rewrite

ext/oci8
--------
    * all OCIFetch*() functions should return 0 for no more data and false on error.

ext/snmp
--------
    * port to latest UCD-SNMP 4.1 (even doesn't compile)
    
ext/standard
------------
    * add a version number to data serialized via serialize().
    * array_add(), array_rand() (Andrei)
    * 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()

other cool stuff
----------------
    * PVM extension