OOP의 세계는 나에게 상당히 새로운 것이므로 나와 함께 맨발로하십시오.OOP 방법 연결 선택 반환
이 시점에서,의 내가 수업과 같이 있다고 가정 해 봅시다 : 그래서 주어진 인터페이스가 나를 new Sentence
을 만들 수있는 것입니다
class Sentence {
__construct($content) {
$this->content = $content;
}
public function grab_word($num) {
$words = explode(" ", $this->content);
return $words[$num+1];
}
}
하고 난에서 단어를 가져 오도록 grab_word()
클래스 메소드를 호출 할 수 있습니다 문장 :
$sentence = new Sentence("Lorem ipsum dolor sit amet");
echo $sentence->grab_word(2);
그러나, 내가 뭘하려는 다른 체인 클래스 메소드를 추가하는 저에게이 단어를 대문자로 할 수있는 기능을 제공합니다. 체인 연결 방법은 객체 상속을 필요로하기 때문에
$sentence->grab_word(2); # -> ipsum
$sentence->grab_word(2)->caps(); # -> IPSUM
분명이 작동하지 않습니다. 만약 내가 caps()
을 만들고 그 함수를 연결했다면 반환 값이 상속 된 Sentence
객체가 아니기 때문에 에러를 반환 할 것입니다.
요약하면, 제 질문은 이러한 메서드를 선택적으로 연결하는 기능을 얻는 방법이지만, 필요에 따라 (예 : 출력 예제와 같이) 필요할 때마다 비 개체도 반환합니다.
짧게 : 할 수 없습니다. Complex : 현재 변형 된 값을 가지고 다니기 위해 객체를 만들 수 있습니다. 그런 다음 필요하다면 그 객체를 암시 적으로 문자열로 변환하기 위해'__toString()'을 구현하십시오. 확실히 노력할 가치가 없습니다. – mario