>백엔드 개발 >PHP 튜토리얼 >PHP에서 새로 생성된 객체에 메소드 체이닝을 구현하는 방법은 무엇입니까?

PHP에서 새로 생성된 객체에 메소드 체이닝을 구현하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-18 14:58:02271검색

How to Implement Method Chaining on Newly Created Objects in PHP?

새 객체에 대한 PHP의 메소드 체이닝

PHP에서 메소드 체이닝을 사용하면 단일 명령문으로 객체에 대해 여러 메소드를 실행할 수 있습니다. 그러나 새 객체를 생성할 때 이를 달성하는 방법은 즉시 명확하지 않습니다.

새로 생성된 객체 연결

PHP 5.4부터는 간단하고 우아한 솔루션이 존재합니다. :

<code class="php">(new Foo())->xyz();</code>

새 인스턴스를 괄호로 묶으면 인스턴스화 후 직접 메서드를 연결할 수 있습니다.

PHP 5.4 이전

PHP 5.4 이전 , 다음 구문으로는 연결이 불가능했습니다.

<code class="php">new Classname();</code>

해결 방법으로 정적 인스턴스화 방법을 사용할 수 있습니다.

<code class="php">class Foo
{
    public static function instantiate()
    {
        return new self();
    }
}

$a = Foo::instantiate()->xyz();</code>

이렇게 하면 새 인스턴스를 정적 메소드입니다.

위 내용은 PHP에서 새로 생성된 객체에 메소드 체이닝을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.