테스트 사이트 - 개발 중인 베타 버전입니다

[php 8.4] MyClass()->method() 를 이제 괄호없이 사용 가능해요

· 1년 전 · 857 · 3

 

[code]

// 괄호를 사용한 기존 방식 
$request = (new Request())->withMethod('GET')->withUri('/hello-world'); 

// PHP Parse error (<= PHP 8.3): syntax error, unexpected token "->" 
$request = new Request()->withMethod('GET')->withUri('/hello-world');
[/code]

 

8.4 부터 아래와 같은 표현이 가능합니다.

[code]

var_dump(

new MyClass()::CONSTANT, // string(8) "constant"

new MyClass()::$staticProperty, // string(14) "staticProperty"

new MyClass()::staticMethod(), // string(12) "staticMethod"

new MyClass()->property, // string(8) "property"

new MyClass()->method(), // string(6) "method"

new MyClass()(), // string(8) "__invoke"

);

[/code]

 

참고(영문): https://laravel-news.com/php-8-4-class-instantiation-without-extra-parenthesis 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

1년 전

감사 합니다.

1년 전

오! 많이 발전 됐군요 좋은 지식 감사합니다

감사 합니다.

게시글 목록

번호 제목
1291
1283
1274
1264
1261
1258
1255
1247
1244
1237
1232
1220
1213
1202
1195
1192
1191
1182
1169
1160
1158
1156
1154
1152
1136
1129
1122
1112
1084
1074