__toString(), 클래스를 문자열로 처리할 때의 응답 메서드
함수:
# 🎜🎜 #__toString() 메서드는 클래스가 문자열로 처리될 때 클래스가 어떻게 응답해야 하는지에 사용됩니다. 예를 들어 `echo $obj;`가 표시되어야 하는 내용입니다.참고:
이 메서드는 문자열을 반환해야 합니다. 그렇지 않으면 `E_RECOVERABLE_ERROR` 수준의 치명적인 오류가 발생합니다.경고:
__toString() 메서드에서는 예외를 발생시킬 수 없습니다. 그렇게 하면 치명적인 오류가 발생합니다.Code:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } public function __toString() { return 'go go go'; } } $person = new Person('小明'); // 初始赋值 echo $person;Result:
go go go따라서 __toString() 매직 메서드가 없는 경우 class 실행하면 어떻게 되나요? 테스트해 보겠습니다. 코드:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } } $person = new Person('小明'); // 初始赋值 echo $person;결과:
Catchable fatal error: Object of class Person could not be converted to string in D:\phpStudy\WWW\test\index.php on line 18 很明显,页面报了一个致命错误,这是语法所不允许的。
위 내용은 PHP의 __toString() 메소드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!