summaryrefslogtreecommitdiff
path: root/WISHLIST-3.1
blob: 1320f719071b3361aa8be63f4ef2b123b80122e3 (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
V Do yystype_ptr and hash pointers the right way - use the hash
  pointer and the bucket pointer, instead of a pointer to the data.
  Allows for a real unset() among other things.
V Improve performance of simple variable lookups
* Improve string performance by using smarter memory allocation methods
- Improve preprocessor (handle require() efficiently), possibly handle
  automatic preprocessing for sites based on timestamp
V Use a reference count mechanism to prevent unnecessary duplication of data.
* Write and stabilize a complete persistent data API.  Feature wishlist:
  - memory manager using shared memory
  - process-global symbol table
  - make api inter-thread capable for win32 and some far off future where unix
    version will be multithreaded
V Handle out of memory (inside emalloc()?)
* Try to figure out a way to declare *real* global variables
* Improve the reading of configuration variables into php3_ini (generalize)
  Make it possible to implement config_get("configuration_variable") and
  config_set("configuration_variable","value") that'll work with *php3_ini*,
  not the configuration hash!
* Bundle some nice classes (like Bjørn's graphing class)
* Bundle some database abstraction classes
* Distribute binaries
* Clean up API and modules to make .so modules portable across CGI and server
  binaries
* dbm cleanup (don't arbitrarily pick, and support multiple concurrent formats)
* start system defines so that we can move away from the standard c lib on
  windows to the win32 lib.  (file functions primarily)
* COM implementation so php can be used as an asp language (cant find any docs
  on how this is done though)
* Clean up the file structure so the top-level directory isn't such a mess.
* Bring the module concept to maturity: use libtool and make it
  possible to decide at compile time whether you want to compile a
  module statically or dynamically.  Remove the distinction between
  the stuff currently in dl/ and functions/.
* a way of letting each module specify its options, so ini file options and
  Apache directives can be set up from the same specification.
V Make it possible to declare smarter user functions: (done in 3.0)
  - Optional parameters
  - Parameters that are forced/prefered by reference
* Make object parsing more general, and allow nested arrays/objects with
  unlimited levels.
V Make it possible to copy references of variables.
* data tainting (like perl -T)
* multi-dimensional array support in GET/POST/COOKIE handling code
* Persistent functions and classes
* odbc_fetch_assoc
* Add env handling to gpc_order
* Populate track_vars regardless of gpc_order
* a real exec() function
* Support passing arguments to functions by name (e.g. foo(arg1 => "bar", arg2 => "foobar"))
* Add an optional setting to destroy persistent resources if a PHP script terminates
  abnormally
V COM automation support for Win32
? Add a setting for making function names case sensitive
* stat() files before feeding them to flex - it doesn't handle special files very well