pre / short-closures
0.8.0
2019-05-02 12:23 UTC
Requires
- pre/plugin: ^0.11.3
Requires (Dev)
- phpunit/phpunit: ^5.0|^6.0
README
文档可以在 preprocess.io 找到。
自此RFC 通过以来,我们已经标准化了相同的语法。 我们仍然允许函数体和返回类型提示,但RFC中的所有内容都可以使用相同的语法来完成,直到Yay允许(7.1)。
你可以使用与JavaScript语义相似的闭包
$files = array_map( fn($path) => file_get_contents($path), $paths ); $needles = [ "PHP", "Go", "Javascript", ]; $matches = array_filter($files, fn($content = "") => { foreach ($needles as $needle) { if (stristr($content, $needle)) { return true; } } return false; });
这些将被转换为
$files = array_map( function ($path) { return file_get_contents($path); }, $paths ); $needles = [ "PHP", "Go", "Javascript", ]; $matches = array_filter($files, [$needles = $needles ?? null, $needle = $needle ?? null, "fn" => function ($content = "") use (&$needles, &$needle) { foreach ($needles as $needle) { if (stristr($content, $needle)) { return true; } } return false; }]["fn"]);