, , :
— ? ?
, :
- PHP 2004 , 16 ,
- , PHP, 10
- PHP, 5.0 7.4 « , »
-, , , PHP , .
PHP 8 RFC . .
? , , . PHP — .
, , PHP , «». — , : .
«», , : $this . - ? . - , , , .
— . ? . ? . $this? , , « » :)
«». , , , . , , , — «». , .
, ?
. .
, , .
.
«»? , , 6 — «fn» «function».
. .
, ? .
— PHP ? , "$"
- « » — "$" !
? . ? . , $ .
? : wiki.php.net/rfc/named_params
array_fill(value: 50, num: 100, start_index: 0);
«»? .
.
, «» , — . , . .
? , , - Python PHP, . Python "=" , , , — "=" ":" .
PHP 8 RFC — . . , PHP , , .
: ( wiki.php.net/rfc/match_expression_v2 )
echo match (1) {
0 => 'Foo',
1 => 'Bar',
2 => 'Baz',
};
match-expressions. , "=>", switch-case ":"? .
. "=>" ( , !) «-». «», match.
. . . , static, .
SELECT *
FROM users
WHERE age>=18 AND name LIKE 'J%'
, IQ 60, — , .
, JS,
const f = () => 42;
. ? f ? ? ?
, PHP , . , JS, « , ».
, PHP 8 . , , .
:
wiki.php.net/rfc/constructor_promotion
class Point {
public function __construct(
public float $x = 0.0,
public float $y = 0.0,
public float $z = 0.0,
) {}
}
— .
, "="? ? ? . , — . . , .
wiki.php.net/rfc/property_write_visibility
class User {
public:private int $id;
public:protected string $name;
}
- ? ? , ?
wiki.php.net/rfc/conditional_break_continue_return
function divide($dividend, $divisor = null) {
return if ($divisor === null || $divisor === 0): 0;
return $dividend / $divisor;
}
, - ? - PHP - «return… if» «if… return»? - if return?
PHP « ...» , .
. RFC « if, Perl/Python/Ruby/Brainfuck!» — , « » - .
:
if ($y == 0)
return 0;
if ($y == 0) {
return 0;
}
if ($y == 0):
return 0;
endif;
— . , : , .
! , :
// -If
return if ($y == 0): 0;
:
foo(bar($baz));
:
$baz |> 'bar' |> 'foo'
— , ? , !
:)
, , :
- match-expressions
- "?->"
- + else
- (!)
, , , — .
PHP . , .
, - . , , , , .
PHP Perl. ?