PHP - рднрд╛рд╖рд╛ рдХрд╛ рдЖрд▓рд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ PHP8 рджрдмрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ (рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рд╡рд╛рд▓рд╛: IMHO рдирд╣реАрдВ)

class Number {
    private int|float $number;

    public function setNumber(int|float $number): void {
        $this->number = $number;
    }

    public function getNumber(): int|float {
        return $this->number;
    }
}

рдЬрд╕реНрддрд╛ рдЙрддреНрдкрд╛рджрди рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ, рд╣рдордиреЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдХрд┐ PHP8 рдореЗрдВ рдХреНрдпрд╛ рдирдпрд╛ рд╣реЛрдЧрд╛ред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ PHP рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдЖрдЗрдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рднрд╛рд╖рд╛ рдХрд┐рд╕ рд╕реНрдерд╛рди рдкрд░ рд╡реНрдпрд╛рдкреНрдд / рд╡реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рд╡рд╣ рдХрд╣рд╛рдБ рдЪрд▓рддреА рд╣реИ

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рднрд╛рд╖рд╛ рдХреЛ рдПрдХ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдЬреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ ред


рдПрдХ рддрд░рдл, рдпрд╣ рд╕рдЪ рд╣реИ: рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реБрдкрд░рдЧреНрд▓реЛрдмрд▓ рдЪрд░ $ _POST рд╕реЗ POST рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ mysql рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред


рдпрд╣ рднреА рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ "рдорд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрджрд╛ рд╣реБрдЖ" рдореЙрдбрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, php-fpm рдореЗрдВ) рд╕рд░рд▓реАрдХрд░рдг рдФрд░ рдкрд╛рдЧрд▓рдкрди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рддрд╛рд▓реЗ, рдЧрддрд┐рд░реЛрдз, рдореЗрдореЛрд░реА рд▓реАрдХ рдЖрджрд┐ рдХреНрдпрд╛ рд╣реИрдВред рдХреЛрдб рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрджрд┐ред


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ HTTP рдЕрдиреБрд░реЛрдз рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдХрд┐рд╕реА рд╕реЗ рдмрд╛рдд рдХрд┐рдП рдмрд┐рдирд╛, рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЦреБрдж рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рд╕рд╛рдлрд╝ рдХрд░рддреЗ рд╣реБрдП рдорд░ рдЧрдпрд╛ред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рд╢реВрдиреНрдп рдХреЗ рдкрд╛рд╕ рд╣реИред


, : тАФ .


, , . .



: , , SPA- .. php 10000 : php-fpm worker . 10000 .


, , ReactPHP, Swoole, Amphp, , PHP. , . , Swoole 5? ? (Go nodejs) php .


: Go , , . nodejs , async/await Promise. .


PHP- - ReactPHP? !


, , . API . GRPC- php 100500 . .


, PHP .


. , PHP, HTTP- тАФ . API, тАФ . .. io-bound PHP , nodejs/golang/etc.



. , , $_POST mysql_query. 99% , Composer, .., , , . .. - . Spring boot (java) : , .


, ?


тАФ - (.. Golang ) . PHP тАФ . , -, , , ..


-, . , . тАФ . , , IDE , .


. , Collection , Collection<User>, .. "". .


PHP 8


. PHP8. , тАФ JIT, .


JIT


. .. , , - , .


-? , тАж -, . , . , PHP . C, C++, Rust . .. PHP7.* PHP5 тАФ . PHP , Ruby Python. PHP , - JIT PHP php-.


, , . - Async/await Promise.



PHP8? .
-, Symfony



    /**
     * @Route("/blog")
     */
    public function list()
    {
        // ...
    }

- :



    <<Route("/blog")>>
    public function list()
    {
        // ...
    }

, , . - , . . . , , .


Union Types mixed


, |


class Number {
    private int|float $number;

    public function setNumber(int|float $number): void {
        $this->number = $number;
    }

    public function getNumber(): int|float {
        return $this->number;
    }
}

. .


, PHP8 mixed .


Big deal? .


Weak maps


Weak maps тАФ . ,



, - , . - .


, , .


-, PHP7.4 .



, тАФ . :


PHP тАФ () . , .


, тАФ . PHP8 . , - nodejs/go .


" ", .


All Articles