Source of: /manual/en/migration53.new-features.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration53.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'migration53.new-features.php',
1 => 'New features',
),
'up' =>
array (
0 => 'migration53.php',
1 => 'Migrating from PHP 5.2.x to PHP 5.3.x',
),
'prev' =>
array (
0 => 'migration53.incompatible.php',
1 => 'Backward Incompatible Changes',
),
'next' =>
array (
0 => 'migration53.windows.php',
1 => 'Changes made to Windows support',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="migration53.new-features" class="section">
<h2 class="title">New features</h2>
<p class="simpara">
PHP 5.3.0 offers a wide range of new features:
</p>
<ul class="itemizedlist">
<li class="listitem">
<span class="simpara">
Support for <a href="language.namespaces.php" class="link">namespaces</a> has been
added.
</span>
</li>
<li class="listitem">
<span class="simpara">
Support for <a href="language.oop5.late-static-bindings.php" class="link">Late Static
Bindings</a> has been added.
</span>
</li>
<li class="listitem">
<span class="simpara">
Support for <a href="control-structures.goto.php" class="link">jump labels</a>
(limited goto) has been added.
</span>
</li>
<li class="listitem">
<span class="simpara">
Support for native <a href="functions.anonymous.php" class="link">Closures</a>
(Lambda/Anonymous functions) has been added.
</span>
</li>
<li class="listitem">
<span class="simpara">
There are two new magic methods,
<a href="language.oop5.overloading.php#language.oop5.overloading.methods" class="link">__callStatic</a> and
<a href="language.oop5.magic.php#language.oop5.magic.invoke" class="link">__invoke</a>.
</span>
</li>
<li class="listitem">
<span class="simpara">
<a href="language.types.string.php#language.types.string.syntax.nowdoc" class="link">Nowdoc</a> syntax is
now supported, similar to
<a href="language.types.string.php#language.types.string.syntax.heredoc" class="link">Heredoc</a> syntax,
but with single quotes.
</span>
</li>
<li class="listitem">
<span class="simpara">
It is now possible to use
<a href="language.types.string.php#language.types.string.syntax.heredoc" class="link">Heredoc</a>s to
initialize static variables and class properties/constants.
</span>
</li>
<li class="listitem">
<span class="simpara">
<a href="language.types.string.php#language.types.string.syntax.heredoc" class="link">Heredoc</a>s may
now be declared using double quotes, complementing the
<a href="language.types.string.php#language.types.string.syntax.nowdoc" class="link">Nowdoc</a> syntax.
</span>
</li>
<li class="listitem">
<span class="simpara">
<a href="language.constants.syntax.php" class="link">Constants</a> can now be
declared outside a class using the <i>const</i> keyword.
</span>
</li>
<li class="listitem">
<span class="simpara">
The <a href="language.operators.comparison.php#language.operators.comparison.ternary" class="link">ternary</a>
operator now has a shorthand form: <i>?:</i>.
</span>
</li>
<li class="listitem">
<span class="simpara">
The HTTP stream wrapper now considers all status codes from 200 to 399 to
be successful.
</span>
</li>
<li class="listitem">
<span class="simpara">
Dynamic access to static methods is now possible.
</span>
</li>
<li class="listitem">
<span class="simpara">
<a href="language.exceptions.php" class="link">Exceptions</a> can now be nested.
</span>
</li>
<li class="listitem">
<span class="simpara">
A garbage collector has been added, and is enabled by default.
</span>
</li>
</ul>
</div><?php manual_footer(); ?>