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
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 .
" ", .