Подскажите пожалуйста как исключить не серелизуемые объекты из класса при серелизации?
например у меня есть объект Doctrine - doctrine сама по себе не серелизуется потому что в ней есть анонимные функции....
накой то ху....
Ну не суть, я заюзал доктрину получил некоторый скалярный результат...
И хочу серелизовать класс что бы сделать с ним что то дальше.
например:
use App/Doctrine;
class A{
private $doctrine = NULL;
public $result = NULL;
public function __construct(Doctrine $doctrine)
{
$this->doctrine = $doctrine;
$this->work();
}
private function work()
{
//here work
$result = $this->doctrine->action....();
// The output of the result is a simple result of scalar data in the array
var_dump($result);
/*
* $result ->
* array(
* 1 => 10
* 2 => 100500
* 3 => 40
* ...etc....
* )
*
*/
}
Во общем все как бы ок, у меня на выходе получается простой массив с числами.
Но если я попробую серелизовать класс А то получу ошибку ( ну в случае с Doctrine потому что там анонимная функция а они не серелизуются... )
Но вот прикол в том что мне не нужна Doctrine в дальнейшем.
Я пробовал делать в конце что то вроде
unset($this->doctrine) и
$this->doctrine = null
Но это не помогло ошибка серелизации осталась.
PS: Я тут предвещаю бугурт и кидание тапками в меня, поэтому хочу пояснить как родился вообще такой вопрос, я работаю не просто с php а zts-php когда zts собирает потоки после работы он серелизует классы, что бы передать их в родительский процесс. из за этого возникает трабла при работе с doctrine потому что он не может ее серелизовать, а по другому получить результат выполнения потока не получается... :-\
Ну что кто что посоветует?