рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдЕрдлрд╡рд╛рд╣реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, 19 рдЬрдирд╡рд░реА рдХреЛ, рдЕрдЧрд▓реА RC PHP 5.4 рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдВрддрд┐рдо рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдирдП рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рдЕрдзреНрдпрдпрди рдореЗрдВ рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрд▓рдЧреНрди рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдореИрдВ рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реВрдВ рдФрд░ PHP рдХреЛ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреНрд░рдореБрдЦ рдЕрдкрдбреЗрдЯ рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдпрд╛ред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреА рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреА рд╕реВрдЪреА рдХреЗ рддрд╣рддред
рджреЛрд╖
5.4 рдХреА рдкреНрд░рдореБрдЦ рдирд╡реАрдирддрд╛ рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдБ рд╣реИрдВред рд╡реЗ PHP рдореЗрдВ рдмрд╣реБ-рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддреНрдпрдп рдХреЛ рдПрдХ рдЕрд▓рдЧ "рд╡рд░реНрдЧ" рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреАрд╡рд░реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдЕрд╢реБрджреНрдзрддрд╛ рдХреЗ рдЕрдВрджрд░, рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ рдЬрд┐рд╕рд╕реЗ рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрдкрдпреЛрдЧ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЕрд╢реБрджреНрдзрддрд╛рдПрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдБ рдХрдХреНрд╖рд╛ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рдпрджрд┐ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХрдХреНрд╖рд╛ рд╡рд┐рдзрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрджреНрдзрддрд┐ рдмрди рдЬрд╛рдПрдЧреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рдиреЛрдЯрд┐рд╕ рднреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред
рдПрдХ рдЕрд╢реБрджреНрдзрддрд╛ рд╣рдореЗрд╢рд╛ рдЙрд╕ рд╡рд░реНрдЧ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╡рд╣ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдореВрд▓ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
class A {
public function foo() {
return 'foo';
}
}
trait B {
public function bar() {
return parent::foo() . ' bar';
}
}
class C extends A {
use B;
}
$c = new C();
echo $c->foo(); // foo
echo $c->bar(); // foo bar
-. , multibyte . .
Array dereferencing support
тАФ PHP . , ? , , ? :
function foo() {
return array(1, 2, 3);
}
echo foo()[0]; // 1
Short syntax for arrays
PHP 5.4 , array.
// :
$array = array(1, 2, 3);
// :
$array = [1, 2, 3];
// :
$array = ['first' => 1, 'second' => 2];
-
, PHP -, . - :
php -S localhost:8000
Upload progress
, HTML 5 File API ( ), PHP 5.4 . , ,
upload_progress_myform Ajax'
-.
, . , , .
class A {
public static function foo_bar() {
return '123';
}
}
$foo = 'foo';
$bar = 'bar';
echo A::{$foo . '_' . $bar}(); // 123
Scalar type hints
PHP . . : int, float boolean.
function foo(int $a, bool $b) {
return true;
}
@
@ PHP . @ - . .
- тАФ . Exceptions.
Deleted
PHP - register_globals, long_arrays , .
Update: trail trait, ,
DoctorChaos .
Update 2: Scalar type hints PHP 5.4 .
,
SVN 5.4 scalar type hints :(
Irker sectus.