Deprecated Features
PHP Core
Implicitly nullable parameter
A parameter's type is implicitly widened to accept null
if the default value for it is null
.
The following code:
should be converted to:
or
However, if such a parameter declaration is followed by a mandatory
parameter:
It must be converted to:
or
as optional parameter before required ones are deprecated.
Raising zero to the power of negative number
Raising a number to the power of a negative number is equivalent to taking
the reciprocal of the number raised to the positive opposite of the power.
That is, 10-2
is the same as
1 / 102
.
Therefore raising 0
to the power of a negative number
corresponds to dividing by 0
, i.e.
0-2
is the same as
1 / 02
, or
1 / 0
. Thus, this behavior has been deprecated.
This affects the exponentiation operator **
and the pow() function.
If the IEEE 754 semantics are desired one should use the new
fpow() function.
Using underscore _
as class name
Naming a class _
is now deprecated:
Nota:
Classes whose names start with an underscore are not
deprecated:
Calling trigger_error() with
error_level
being equal to
E_USER_ERROR
is now deprecated.
Such usages should be replaced by either throwing an exception,
or calling exit(), whichever is more appropriate.
Because the E_STRICT
error level was removed,
this constant is now deprecated.
DOM
The DOM_PHP_ERR
constant is now deprecated.
The following properties have been formally deprecated:
Hash
Passing invalid options to hash functions is now deprecated.
PDO_PGSQL
Using escaped question marks (??
) inside
dollar-quoted strings is deprecated.
Because PDO_PGSQL now has its own SQL parser with dollar-quoted strings
support, it is no longer necessary to escape question marks inside them.
XML
The xml_set_object() function has been deprecated.
Passing non-callable strings to the
xml_set_()*
functions is now deprecated.