todo:php60
Release Manager
Andrei Zmievski
Timetable
- NEWS: 6.0
To-do items
several items taken from here http://derickrethans.nl/files/meeting-notes.html
Migration
- figure out and document the migration path
- develop a set of migration scripts when possible to ease the 5.x -> 6 transition
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)
- add unicode to PDO. PDO Unicode notes
- implement caching of the last 3 opened collators
- == should be the same as strcmp, and not using collation. strcoll() does.
- use locale based functions where they make sense, and pick a conservative default. Examples are strtoupper/strtolower, stristr etc..
- provide an additional error mode for character set conversion failures that throw exceptions on failures.
- In run-tests.php output something at the end of c's main() to capture SEGVs during php shutdown in run-tests.php, probably change run-tests.php to catch SEGV (marcus)
- deprecate ext/ctype in 6.0 and move to pecl in 6.1 in preference of unicode replacement functions. Note: the unicode replacements functions need to be merged to 5.x(without actual unicode support) for forward compatibility (andrei)
JIT fetch & (de-)encode of auto-globals based on this patch. Need to account for extensions wanting to access request data during RINIT. Some more references.DONE (Andrei)- cleanups
remove UG(unicode) checks/references, Unicode is always “on”DONE (Felipe, Steph)
- Get rid of the BC crap in ext/date (derick)
- Try to find a way to see how case sensitive identifiers could be gradually be implemented, but do not “fix” it for PHP6.
PECL
- ext/dba should be handled in the same way as PDO through drivers maintained in PECL. but all the handlers stay in the distribution.
- ext/soap
- ext/soap will be turned on by default
- implement some of the security extensions to ext/soap (rob)
- watch axis2 based implementation development
- make use of the HTTP streams layer (dmitry)
- add ext/bitset to core once CS violations are fixed (Scott) - Violations fixed, just needs to be merged.
Engine
- add foreach( $a as $k => list($a, $b)) {} syntax (andrei)
- speed up @-operator and ask andi for approval (ilia, marcus)
- add ability to allocate persistent zvals in PHP.
OO changes
- Property overloading RFC aka abstract/virtual properties and get/set handlers (derick)
- object casting to primitive types BC mess (derick)
- add internal flag only to force calling of the parent constructor
- add support for type-hinted return values.
- implements the ReflectionClass cache in struct zend_class_entry*. (marcus)
- class operator cleanup (static=static, non-static=non-static and no more ZEND_ACC_ALLOW_STATIC) (marcus)
- Closures
- $this support in closures & object scoping, see object extension proposal
- Decide on how reflection will interact with $this / object scoping of closures and possibly object extension
Other Additions/Changes
- allow opened files to be deleted on windows Streams (wez)
- APC
- include APC in the core distributions (turned off by default) and switch to mmap as default shared memory storage.
- ability to move autoloaded main classes in apc's class lookup preventing the overhead of doing the inheritance process all the time. (marcus)
- include the protection against HTTP Response Splitting attacks (header() shouldn't accept multiple headers in one call) from hardended php
- add sand boxing if we have a rock solid implementation (sara)
- prepare a patch that disallows mixing different open/close tags. (jani)
- look at creating a solid plan to rewrite build system and when there is a volunteer to implement it.
- GIF Write support and animated GIF (pierre)
- Full synchronisation with Boutell's GD (to and from php) (pierre)
- Output Control
- revisit existing output handlers (mike)
- Rewrite parser to use lemon instead of bison (Scott, Etienne)
- add support for files >2GB once native 64bit integers are implemented (pierre,wez)
- Update the php.ini files to reflect the various changes
Needs revisiting or clarification
- 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
- decide on moving DB extensions out of the core later.
- move other extensions to PECL on a case by case basis
- regexp (anthony)
- make determination on the default string type (binary/unicode). Requires extensive testing of existing code to determine migration pains.
Under discussion
Cleanups
- safe_mode/open_basedir
- unbundle safe_mode_exec_dir from safe_mode and keep it (rasmus) (take a look at this patch too)
- new ini option: open_basedir_for_include which would allow using include/require(_once) on an expanded set of directories (sara)
- kill "<%" but keep "<?" (anthony)
PECL
- fileinfo
- Fileinfo extension should be updated to only load its database once on MINIT.
Engine
- add a new 64bit integer that is always 64bits regardless of platform or have a single bigint type in userland that uses 64-bit ints and unbounded ints internally (Pierre, David (Dsp))
- add ZEND_ACC_READONLY (marcus)
- Allow usage of C99 constructs in core/extensions
todo/php60.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1