<?php
// condition이 true인 경우 $_GET['test']를, false인 경우 'empty'를 반환한다.
$test = isset($_GET['test']) ? $_GET['test'] : 'empty';
// 위 코드를 아래와 같이 축약할 수 있다.
$test = $_GET['test'] ?? false;
2. Define Array
<?php
// 배열을 define 할 수 있다.
define('DEFINE_ARRAY', [
[
'name' => 'ian',
'birth' => '1998-11-26',
],
[
'name' => 'girfriend',
'birth' => null,
]
]);
3. Anonymous Class
<?php
interface Logger {
public function log(string $msg);
}
var_dump(new class implements Logger {
public function log(string $msg) {
echo $msg;
}
});
// result
object(class@anonymous)#1 (0) {
}
4. Unicode codepoint escape syntax
<?php
echo "\u{9999}"; // 香
5. Group use declarations
<?php
// PHP 7 이전
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;
use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;
use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;
// PHP 7 이후
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};