Я пытаюсь сериализовать SplFileObject, который молча терпит неудачу в 5.2 и выдает фатальный в 5.3. До сих пор я исправил проблему в 5.2 путем создания подкласса SplFileObject и реализации интерфейса Serializable с использованием (упрощенного) следующего кода (полная версия также обрабатывает $ open_mode и $ context, но это не относится к этому вопросу):
<?php
class SerializableFileObject extends SplFileObject implements Serializable
{
public function serialize()
{
return $this->getRealPath();
}
public function unserialize($serialized)
{
$this->__construct($serialized);
}
}
но 5.3 все равно бросает смертельное:
PHP Fatal error: Class SerializableFileObject could not implement interface Serializable in Unknown on line 0
Я также пытался добавить магические методы __sleep
и __wakeup
, но безрезультатно.
Похоже, Google мало что знает об этом, поэтому мне интересно, можно ли вообще сериализовать SplFileObject в 5.3.
ОБНОВЛЕНИЕ: похоже, что на этот вопрос нет ответа (см. Мой комментарий).