рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рдЪрдпрдиред рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ: рдХрдВрдкреЛрдЬрд╝рд░ 2.0 рдЕрд▓реНрдлрд╛ рдФрд░ рдЕрдиреНрдп рд░рд┐рд▓реАрдЬрд╝, 5 рдирдП рдФрд░ рдПрдХ PHP рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ RFC рдХреА рдкреЗрд╢рдХрд╢ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛, рдФрд░ рд╡реЛрдЯрд┐рдВрдЧ, рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ, рдкреЙрдбрдХрд╛рд╕реНрдЯ, рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдкрд░ рднреА рдЕрджреНрдпрддрди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБред
рдкрдврд╝рдиреЗ рдХрд╛ рдордЬрд╝рд╛ рд▓реЗрдВ!
рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
PHP Internals
- [RFC] throw expression тАФ PHP 8
throw
, . , , :
$callable = fn() => throw new Exception();
$foo = $bar['key'] ?? throw new KeyNotSetOnBarException();
- [RFC] Attributes v2 тАФ () . , , , , . .
, . : <<>>
@:
.
<<ExampleAttribute>>
class Foo
{
<<ExampleAttribute>>
public const FOO = 'foo';
<<ExampleAttribute>>
public $x;
<<ExampleAttribute>>
public function foo(<<ExampleAttribute>> $bar) { }
}
$object = new <<ExampleAttribute>> class () { };
<<ExampleAttribute>>
function f1() { }
$f2 = <<ExampleAttribute>> function () { };
$f3 = <<ExampleAttribute>> fn () => 1;
- [RFC] PHP Namespace in core, [RFC] PHP Namespace Policy тАФ RFC-,
\PHP
, . - [RFC] Mixed Type v2 тАФ , , - .
mixed
.
PHP 8. mixed
array|bool|callable|int|float|null|object|resource|string
. - [RFC] non-capturing catches тАФ
catch
:
try {
changeImportantData();
} catch (PermissionException) {
echo "You don't have permission to do this";
}
- [RFC] Match expression тАФ switch
match
, switch
, . -.
match ($condition) {
1 => {
foo();
bar();
},
2 => baz(),
}
$expressionResult = match ($condition) {
1, 2 => foo(),
3, 4 => bar(),
default => baz(),
};
- [RFC] Pipe Operator v2 тАФ
|>
c . Elixir / JS (Hack) $$
.
$result = "Hello World"
|> 'htmlentities'
|> 'explode'
|> fn($x) => array_map(fn($v) => 'strtoupper', $x)
|> fn($x) => array_filter(fn($v) => $v != 'O');
- : [RFC] Compact Object Property Assignment

- jlaswell/compote тАФ PHP Go. Composer, , , CI. .
- repman.io тАФ Composer.
CDN packagist.org, . - dantleech/what-changed тАФ Composer, , composer update.
- maciejczyzewski/bottomline тАФ lodash / underscore PHP. //.
- VKCOM/noverify v0.2.0 тАФ PHP Go. PHP 7, , .
- markrogoyski/math-php 1.0 тАФ PHP. /, , . @dmitrybalabka.
Symfony
Laravel
Laminas
Async PHP

/
!
тАФ , , .
.
Telegram- PHP Digest.
тЖР : PHP- тДЦ 177