todo:php60

This is an old revision of the document!


Release Manager

Andrei Zmievski

Timetable

To-do items

several items taken from here http://derickrethans.nl/files/meeting-notes.html

Unicode

This section has not been updated in a while and so its probably better to look at the todo and progress overviews in cvs, and the progress tool)

  1. remove old parameter parsing API and replace with one that supports unicode related functionality
  2. add support for a flag for extension if they should be loadable when unicode is set to off
  3. add unicode to PDO (???)
  4. implement “filename_encoding” setting and return binary string when functions such as readdir() encounter a filename that can not exist in the encoding that is set
  5. implement caching of the last 3 opened collators
  6. == should be the same as strcmp, and not using collation. strcoll() does.
  7. use locale based functions where they make sense, and pick a conservative default. Examples are strtoupper/strtolower, stristr etc..
  8. provide an additional error mode for character set conversion failures that throw exceptions on failures.
  9. In run-tests.php output something at the end of c's main() to capture SEGVs during php shutdown in runt-tests.php, probably change run-tests.php to catch SEGV (marcus)
  10. deprecate ext/ctype in 6.0 and move to pecl in 6.1 in preference of unicode replacement functions (andrei)
  11. JIT fetch & (de-)encode of auto-globals (pierre)
  12. cleanups
  13. Get rid of the BC crap in ext/date (derick)
    1. Try to find a way to see how case sensitive identifiers could be gradually be implemented, but do not “fix” it for PHP6.

PECL

  1. decide on moving DB extensions out of the core later.
  2. move other extensions to PECL on a case by case basis
  3. regexp (anthony)
  4. ext/dba should be handled in the same way as PDO through drivers maintained in PECL. but all the handlers stay in the distribution.
  5. move mime_magic from the core to PECL
  6. ext/soap
    1. ext/soap will be turned on by default
    2. implement some of the security extensions to ext/soap (rob)
    3. watch axis2 based implementation development
    4. make use of the HTTP streams layer (dmitry)
  7. add ext/bitset to core once CS violations are fixed (Scott)

Engine

  1. add a new 64bit integer that is always 64bits regardless of platform with the cast name for this new type is (int64) and internally we use IS_INT64 and RETURN_INT64 etc.. (Pierre, David (Dsp))
  2. add foreach( $a as $k => list($a, $b)) {} syntax (andrei)
  3. speed up @-operator and ask andi for approval (ilia, marcus)
  4. add ability to allocate persistent zvals in PHP.

OO changes

  1. Property overloading RFC aka abstract/virtual properties and get/set handlers (derick)
  2. object casting to primitive types BC mess (derick)
  3. add internal flag only to force calling of the parent constructor
  4. add support for type-hinted return values.
  5. implements the ReflectionClass cache in struct zend_class_entry*. (marcus)
  6. class operator cleanup (static=static, non-static=non-static and no more ZEND_ACC_ALLOW_STATIC) (marcus)
  7. Closures
    1. $this support in closures & object scoping, see object extension proposal
    2. Decide on how reflection will interact with $this / object scoping of closures and possibly object extension

Other Additions/Changes

  1. allow opened files to be deleted on windows Streams (wez)
  2. APC
    1. include APC in the core distributions (turned off by default) and switch to mmap as default shared memory storage.
    2. ability to move autoloaded main classes in apc's class lookup preventing the overhead of doing the inheritance process all the time. (marcus)
  3. include the protection against HTTP Response Splitting attacks (header() shouldn't accept multiple headers in one call) from hardended php
  4. add sand boxing if we have a rock solid implementation (sara)
  5. prepare a patch that disallows mixing different open/close tags. (jani)
  6. look at creating a solid plan to rewrite build system and when there is a volunteer to implement it.
  7. GIF Write support and animated GIF (pierre)
  8. Full synchronisation with Boutell's GD (to and from php) (pierre)
  9. Output Control
    1. revisit existing output handlers (mike)
  10. Rewrite parser to use lemon instead of bison (Scott, Etienne)
  11. add support for files >2GB once native 64bit integers are implemented (wez)

Under discussion

  1. cleanups
    1. safe_mode/open_basedir
      1. unbundle safe_mode_exec_dir from safe_mode and keep it (rasmus) (take a look at this patch too)
      2. new ini option: open_basedir_for_include which would allow using include/require(_once) on an expanded set of directories (sara)
  2. PECL
    1. fileinfo
      1. move the Fileinfo extension to the core, and enable it by default. DONE in 5.3
      2. Fileinfo extension should be updated to only load its database once on MINIT.
  3. Engine additions
  4. Allow usage of C99 constructs in core/extensions
todo/php60.1236880382.txt.gz · Last modified: 2017/09/22 13:28 (external edit)