PHP 5.4 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдЕрдлрд╡рд╛рд╣реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, 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.

Source: https://habr.com/ru/post/In136800/


All Articles