PHP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдирдВрдмрд░ 181 (18 рдордИ - 1 рдЬреВрди, 2020)

рдЗрд░рд┐рдХрд╛ рд╣реЗрджреА рддрд╕реНрд╡реАрд░реЗрдВ

рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рдЪрдпрдиред рд╕рдорд╕реНрдпрд╛ рдореЗрдВ: 3 рдирдП рдФрд░ 4 рдиреЗ PHP 8 рдХреЗ рд▓рд┐рдП RFC рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд░рдЪрдирд╛рдХрд╛рд░ рдореЗрдВ рдЧреБрдгреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╕рд╛рд╣рд┐рддреНрдпрд┐рдХ рдЪреЛрд░реА рдХреЗ рдХрд╛рд░рдг PHP-ML рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХреНрдпреЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ PHP рд╕реЗ рдирдлрд░рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг, рд╡реАрдбрд┐рдпреЛ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ред

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



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



PHP Internals


  • рдЪреЗрдХ [RFC] Constructor Property Promotion тАФ PHP 8

    // 
    class Point {
        public float $x;
        public float $y;
        public float $z;
    
        public function __construct(
            float $x = 0.0,
            float $y = 0.0,
            float $z = 0.0,
        ) {
            $this->x = $x;
            $this->y = $y;
            $this->z = $z;
        }
    }
    
    // 
    class Point {
        public function __construct(
            public float $x = 0.0,
            public float $y = 0.0,
            public float $z = 0.0,
        ) {}
    }
    

    Hack, TypeScript, Kotlin, Scala. , PHP. :

    class Foo {
        public function __construct(
            <<ExampleAttribute>>
            public int $prop,
        ) {}
    }
    
  • рдЪреЗрдХ [RFC] Mixed Type v2 тАФ RFC, mixed PHP 8. PHP Digest c mixed.
  • рдЪреЗрдХ [RFC] Always available JSON extension тАФ PHP 8 JSON .
  • рдЪреЗрдХ [RFC] non-capturing catches тАФ PHP 8 catch:

    try {
        changeImportantData();
    } catch (PermissionException) {
        echo "You don't have permission to do this";
    }
    
  • [RFC] Error backtraces тАФ , PHP . . Error , , , Error.
  • [RFC] Match expression v2 тАФ match, switch, .

    echo match (1) {
        0 => 'Foo',
        1 => 'Bar',
        2 => 'Baz',
    };
    //> Bar
    

    .
  • [RFC] Attribute Amendments тАФ : <<Attr1, Attr2>>, PhpAttribute Attribute. , , //. , . , , RepeatableAttribute.



Symfony



Laravel



Async PHP





/



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

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

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





All Articles