라이브러리
[PHP] Stringable::__toString - 객체의 문자열 표현을 가져옵니다.
Stringable::__toString
PHP 8.0 버전부터 `Stringable` 인터페이스가 추가되었습니다. 이 인터페이스는 `__toString` 메서드를 정의하여 객체를 문자열로 변환할 수 있도록 합니다.
`Stringable` 인터페이스는 다음과 같은 메서드를 정의합니다.
#hostingforum.kr
php
public function __toString(): string;
이 메서드는 객체를 문자열로 변환할 때 호출됩니다. 이 메서드는 `string` 타입을 반환해야 합니다.
예제
다음 예제는 `Stringable` 인터페이스를 구현한 `Person` 클래스를 보여줍니다.
#hostingforum.kr
php
class Person implements Stringable
{
private $name;
private $age;
public function __construct(string $name, int $age)
{
$this->name = $name;
$this->age = $age;
}
public function __toString(): string
{
return "이름: $this->name, 나이: $this->age";
}
}
`Person` 클래스는 `Stringable` 인터페이스를 구현하여 `__toString` 메서드를 정의했습니다. 이 메서드는 객체를 문자열로 변환할 때 호출됩니다.
다음 예제는 `Person` 객체를 문자열로 변환하는 방법을 보여줍니다.
#hostingforum.kr
php
$person = new Person("John Doe", 30);
echo $person . "
"; // 이름: John Doe, 나이: 30
위 예제에서 `$person` 객체를 문자열로 변환하기 위해 `$person` 객체를 문자열 연산자 (`.`)와 함께 사용했습니다. 이 연산자는 `$person` 객체의 `__toString` 메서드를 호출하여 객체를 문자열로 변환했습니다.
사용자 정의 객체를 문자열로 변환하는 방법
`Stringable` 인터페이스를 구현하지 않은 사용자 정의 객체를 문자열로 변환하는 방법은 다음과 같습니다.
#hostingforum.kr
php
class Person
{
private $name;
private $age;
public function __construct(string $name, int $age)
{
$this->name = $name;
$this->age = $age;
}
public function __toString(): string
{
return "이름: " . $this->name . ", 나이: " . $this->age;
}
}
위 예제에서 `Person` 클래스는 `Stringable` 인터페이스를 구현하지 않았지만 `__toString` 메서드를 정의했습니다. 이 메서드는 객체를 문자열로 변환할 때 호출됩니다.
다음 예제는 `Person` 객체를 문자열로 변환하는 방법을 보여줍니다.
#hostingforum.kr
php
$person = new Person("John Doe", 30);
echo $person . "
"; // 이름: John Doe, 나이: 30
위 예제에서 `$person` 객체를 문자열로 변환하기 위해 `$person` 객체를 문자열 연산자 (`.`)와 함께 사용했습니다. 이 연산자는 `$person` 객체의 `__toString` 메서드를 호출하여 객체를 문자열로 변환했습니다.
결론
`Stringable` 인터페이스는 PHP 8.0 버전부터 추가되었습니다. 이 인터페이스는 `__toString` 메서드를 정의하여 객체를 문자열로 변환할 수 있도록 합니다. 사용자 정의 객체를 문자열로 변환하는 방법은 `Stringable` 인터페이스를 구현하거나 `__toString` 메서드를 정의하는 것입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.