Приднестровская поддержка XOOPS
Последним специальным методом, о котором будет рассказываться при рассмотрении новой объектной модели в PHP 5, является метод __toString(). Он предназначен для упрощения строкового представления сложного объекта. Если определить этот метод, PHP будет вызывать его в тех случаях, когда объект лучше всего обрабатывать как строку (например, при отображении с использованием операторов echo или print). Значение строки, возвращаемое этим методом, может принимать любую форму, однако лучше всего, чтобы оно, так или иначе, представляло сам объект. Рассмотрим листинг 22, в котором реализован метод __toString() и использованы его функциональные возможности.
Листинг 22.
class User {
private $username;
function __construct($name) {
$this->username = $name;
}
public function getUserName() {
return $this->username;
}
function __toString() {
return $this->getUserName();
}
}
$user = new User("john");
echo $user;
В листинге 22 определен простой класс User, который является оболочкой для простого класса учетной записи User. Этот класс содержит одно закрытое свойство $username, к которому можно обратиться, если вызвать метод getUserName() класса. Однако поскольку этот класс также реализует метод __toString() (который сам вызывает метод getUserName()), то любой экземпляр класса можно обрабатывать непосредственно как строку, что показано в операторе echo. Хотя в этом случае представлен самый простой вариант применения метода __toString(), в более сложных объектах он может эффективно использоваться для создания строкового представления в любом требуемом формате.
Отправитель | Нити |
---|
2 пользователь(ей) активно (1 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 2 далее... |