>  기사  >  백엔드 개발  >  PHP에서 새로 생성된 객체에 대한 메소드 체이닝은 언제 가능합니까?

PHP에서 새로 생성된 객체에 대한 메소드 체이닝은 언제 가능합니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-18 14:58:30276검색

When is Method Chaining on Newly Created Objects Possible in PHP?

PHP에서 새로 생성된 객체에 대한 체이닝 메서드

PHP에서는 다양한 기법을 통해 새로 생성된 객체에 대한 체이닝 메서드가 가능합니다.

PHP 5.4 :

PHP 버전 5.4 이상에서는 괄호를 사용하여 객체 인스턴스화에서 직접 메서드를 연결할 수 있습니다.

(new Foo())->xyz();

PHP 5.3 이하:

이전 버전의 PHP에서는 객체 인스턴스화 중에 메서드를 연결할 수 없습니다. 그러나 인스턴스화를 정적 메서드로 래핑하여 해결 방법을 사용할 수 있습니다.

class Foo
{
    public function xyz()
    {
        return $this;
    }

    static public function instantiate()
    {
        return new self();
    }
}

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

체이닝 메서드 간의 차이점:

PHP 5.4 이전 버전에서는 new Classname();, 인스턴스화에서 직접 메서드를 연결할 수 없습니다. 이 제한은 PHP 5.3의 구문 때문입니다. 객체가 인스턴스화되면 자유롭게 메소드를 연결할 수 있습니다.

올바른 방법 선택:

인스턴스화에서 직접 메소드를 연결하는 PHP 5.4 방법이 선호되는 이유는 다음과 같습니다. 그 단순함과 우아함. PHP 5.3 이하를 지원해야 하는 경우 정적 인스턴스화 방법이 적합한 해결 방법입니다.

위 내용은 PHP에서 새로 생성된 객체에 대한 메소드 체이닝은 언제 가능합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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