PHP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдирдВрдмрд░ 176 (11 рдорд╛рд░реНрдЪ - 23, 2020)


рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рдЪрдпрдиред рд░рд┐рд▓реАрдЬ рдореЗрдВ: PHP рдФрд░ рд╕рдВрдЧреАрддрдХрд╛рд░ 1.10 рдЕрдкрдбреЗрдЯ, рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ рдЯреНрд░рд╛рдВрд╕рдлрд░, PHP рдЗрдВрдЯрд░рдиреИрд╢рдирд▓ рд╕реЗ 3 рдирдП RFC рдСрдлрд░, рдЙрдкрдпреЛрдЧреА рдЯреВрд▓реНрд╕, рд╡реАрдбрд┐рдпреЛ, рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред

рдкрдврд╝рдиреЗ рдХрд╛ рдордЬрд╝рд╛ рд▓реЗрдВ!



рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐


  • PHP 7.4.4 , PHP 7.3.16 , PHP 7.2.29 - рд╕реБрд░рдХреНрд╖рд╛ рд░рд┐рд▓реАрдЬрд╝, рд╕рднреА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред
  • рд╕рдВрдЧреАрддрдХрд╛рд░ 1.10.0 - рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмреАрдЪ, рдПрдХ рдирдпрд╛ "рдлрдВрдбрд┐рдВрдЧ" рдХреНрд╖реЗрддреНрд░ рдХрдВрдкреЛрдЬрд░.рдЬреЙрди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, GitHub рдкрд░ FUNDING.yml рд╕реЗ рдбреЗрдЯрд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдирдИ рдЯреАрдо рднреА рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ composer fundрдЬреЛ рдЖрдкрдХреЗ рд╡реНрдпрд╕рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдпреЛрдЬрди рдХреА рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рддреА рд╣реИред

  • , .
    тАв PHP Russia тАУ , 13 PHP Russia Online.
    тАв habr PHP- , .
    тАв : Laracon EU Madrid, Midwest PHP.

PHP Internals


  • [RFC] str_contains тАФ . str_contains() , .
  • [RFC] throw expression тАФ PHP , throw тАУ , . , :
    $callable = fn() => throw new Exception();
    
    $value = $nullableValue ?? throw new InvalidArgumentException();
    
    $value = $falsableValue ?: throw new InvalidArgumentException();
    
    $value = !empty($array)
                ? reset($array)
                : throw new InvalidArgumentException();
  • [RFC] Compact Object Property Assignment тАФ . [RFC] Object Initializer, . :
    doTheFoo((new Foo)->[
        a = 1,
        b = 2,
        c = 3,
    ]);
    
    // :
    
    $myObj = new Foo();
    
    $myObj->a = 1;
    $myObj->b = 2;
    $myObj->c = 3;
    
    doTheFoo($myObj);
  • [RFC] Is Literal Check тАФ is_literal(), / , , , PHP, .
    define('TABLE', 'example');
    
    $sql = 'SELECT * FROM ' . TABLE . ' WHERE id = ?';
    
    is_literal($sql); // Returns true
    
    $sql .= ' AND id = ' . mysqli_real_escape_string($db, $_GET['id']);
    
    is_literal($sql); // Returns false
    

    , . , .
  • [RFC] Write-Once Properties тАФ , . , , , .
  • RFC .
    .
    Understanding RFC attitudes , - , - , PHP Internals RFC.



Symfony



Laravel



Async PHP





/



рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЧрд▓рддреА рдпрд╛ рдЕрд╢реБрджреНрдзрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ - рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдкреАрдПрдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ ред
рдкреНрд░рд╢реНрди рдФрд░ рд╕реБрдЭрд╛рд╡ рдореЗрд▓ рдпрд╛ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ ред PHP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рдкрд░ рдЕрдзрд┐рдХ рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ ред рд╕рдВрджреЗрд╢ рд▓рд┐рдВрдХ рд╕рднреА рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд▓рд┐рдВрдХ тЖР рдкреАрдПрдЪрдкреА рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдирдВ 175: рдкрд┐рдЫрд▓рд╛ рд░рд┐рд▓реАрдЬ





All Articles