Использование магических методов PHP __сна и __пробуждения

Какая польза от магических методов __sleepи __wakeupв PHP? Я читал документацию по PHP, но все еще не ясно:

class sleepWakeup {

    public function __construct() {
        // constructor //
    }

    public function __sleep() {
        echo 'Time to sleep.';
    }

    public function __wakeup() {
        echo 'Time to wakeup.';
    }

}

$ob = new sleepWakeup();

// call __sleep method
echo $ob->__sleep();

echo "\n";

// call __wakeup method
echo $ob->__wakeup();

Этот пример кода печатает:

Time to sleep.
Time to wakeup.

Если бы я переименовал __sleepи __wakeupв fooи bar, то это сделало бы то же самое. Каково правильное использование этих двух методов?

36
задан Chris Bornhoft 11 February 2016 в 15:32
поделиться