5.3.x
New features
New features
New features
PHP 5.3.0 offers a wide range of new
features:
- Support for namespaces has been
added. - Support for Late Static
Bindings has been added. - Support for jump labels
(limited goto) has been added. - Support for native
Closures
(Lambda/Anonymous functions) has been added. - There are two new magic
methods, __callStatic() and __invoke(). - Nowdoc syntax is now supported, similar to
Heredoc syntax, but with single
quotes. - It is now possible to
use Heredocs to initialize static variables and class
properties/constants. - Heredocs may now be declared using double quotes,
complementing the Nowdoc syntax. - Constants can now
be declared outside a class using the const
keyword. - The ternary operator now has a shorthand form:
?:. - The HTTP stream wrapper
now considers all status codes from 200 to 399 to be
successful. -
Dynamic access to static
methods is now possible:<?php
class C {
public static $foo = 123;
} $a = "C";
echo $a::$foo;
?>The above example will output:
123
-
Exceptions can now be
nested:<?php
class MyCustomException extends Exception {}try {
MyCustomException("Exceptional", 112);
throw new
} catch (Exception $e) {
/* Note the use of the third parameter to pass $e
* into the RuntimeException. */
throw new RuntimeException("Rethrowing", 911, $e);
}
?> - A garbage collector for circular
references has been added, and is enabled by default. - The mail() function now supports logging of sent
email via the mail.log configuration directive. (Note: This only
applies to email sent through this function.)