Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
О, первый раз услышал как Никита Попов по русски говорит)
fn helloWorder() => echo 'Hello world';
class X
{
public fn a() { ... }
public function b() { ... }
public fn c() => ...;
public function d() => ...;
}
$a = function ($x) use ($z) { ... };
$b = fn($x) use ($z) { ... };
$c = function ($x) => ...;
$d = fn($x) => ...;
Захват контекста реализован не так, как use. В use можно использовать ссылку и менять исходную переменную. В fn => — по значению.
Хотя в rfc описан вариант (я так понимаю, на будущие релизы):
$fn = fn() use(&) {
// ...
};Компилятор PHP, также известный как кроличья нора FFI — Интересный пост о типах компиляторов, принципах их устройства, и собственно о реализации ahead-of-time (AOT) компилятора PHP с использованием LLVM и самого PHP.
$multipleLines = fn($x) => last(
$x = 1;
echo array_slice([
$y = $x * 10,
$z = $y + 15,
$x + $y + $z
],-1)[0];
PHP-Дайджест № 155 (22 апреля – 6 мая 2019)