This is a repo where I keep ideas and RFC drafts for changes to PHP.
Discussions are not accepted on this repo and must be held on the PHP internals list. The only PRs that will be accepted are typo and wording improvements, or when I have explicitly requested suggestions.
Note: if an RFC is published it will follow the license of the PHP Wiki.
Use the md-to-dokuwiki.php
script to generate DokuWiki text that mostly works without edits from a markdown file.
- Container/offset semantics overhaul
These are in no particular order, but they are RFCs that I want to work on sooner than later
- Comparison semantics overhaul
- PDOException, fix
code
property being astring
- Warn on implicit conversions from
resource
tostring
- Remove assumption about multiplication
*
being commutative - Remove usage of SPL extensions in other internal extensions
- Warn when int to float loses precision + introduce SAFE_INTEGER constant like JS
- Change
eval()
to a function that can be disabled - Make
void
an alias fornull
to fix type system - Object serialization overhaul
- Warn when attempting to destructure scalars
- Meta RFC transform empty into a function
- Remove old DBA handlers
- Deprecate bool to string implicit coercions
- Deprecate
InfiniteIterator
- Deprecate implicit conversions to bool in function type juggling context
- Deprecate control-flow structures in
finally
blocks - Stop requiring parameter names in PHP interface methods
- Function types
- Have array sort functions return the sorted array instead of always true
- Deprecate support for using objects as arrays
foreach
,HASH_OF
,Z_PARAM_ARRAY_OR_OBJECT()
,Z_PARAM_ARRAY_OR_OBJECT_HT()
, etc.
These are RFCs ideas that have been suggested during discussion offline or on the list
- Split
exit()
anddie()
into distinct functions wheredie()
only take strings andexit()
only takes integers.
- Change
exit()
to function