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

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

· 1년 전 · 846 · 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년 전

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

감사 합니다.

게시글 목록

번호 제목
2503
2501
2497
2495
2491
2490
2489
2486
2484
2483
2481
2476
2475
2474
2472
2469
2467
2466
2465
2464
2463
2460
2459
2456
2449
2446
2441
2420
2419
2417