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

 

[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개

감사 합니다.

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

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

영카트5 팁자료실

+
제목 글쓴이 날짜 조회
8개월 전 조회 783
8개월 전 조회 517
10개월 전 조회 1,098
10개월 전 조회 770
10개월 전 조회 753
1년 전 조회 1,131
1년 전 조회 1,294
1년 전 조회 707
1년 전 조회 1,488
1년 전 조회 927
1년 전 조회 988
1년 전 조회 2,582
1년 전 조회 1,631
1년 전 조회 3,114
1년 전 조회 1,017
1년 전 조회 3,173
1년 전 조회 1,509
1년 전 조회 879
1년 전 조회 577
1년 전 조회 1,115
1년 전 조회 2,847
1년 전 조회 931
1년 전 조회 1,200
1년 전 조회 629
2년 전 조회 8.6만
2년 전 조회 967
2년 전 조회 2,690
2년 전 조회 938
2년 전 조회 2,001
2년 전 조회 2,061