gettype/is_object для объекта в сессии

Said

Guest
gettype/is_object для объекта в сессии

в переменную сеанса записан объект:

$_SESSION['a'] = new MyClass;

в другом скрипте хочу проверить тип этой переменной не объявляя класс MyClass:

is_object($_SESSION['a']) - результат false
gettype($_SESSION['a']) - результат 'object'

это баг или фича? (или так низзя?)
Прошу профи прокомментировать
 

Said

Guest
это я читал уже давно

интересно что gettype все же определяет тип object, а is_object нет
 

tony2001

TeaM PHPClub
а сам класс инклудится до этой проверки?
очень похоже на http://bugs.php.net/bug.php?id=19842 - там внизу объяснение.
если это так, то это _не баг_
 

KR

alive in new life
может быть это действительно связано с тем, что это сессионная переменная и объект лежит в строке
попробуй скопировать его (если возможно) в другую переменную, не имеющую отношения к сессии и посмотри на результат.

именно скопировать.
 

tony2001

TeaM PHPClub
KR:
имхо зря убрал свой первый пост.
т.к. бред напоминает второй пост =)
 

KR

alive in new life
2: tony2001
походу далеко еще до профессионала %)
ооочень налеко. но будем стараться
 

YRusinov

Филин Ух
А в мануале пишут, что если ты пишешь объект в сессию, то чтобы проверить его тип, прочитать или сделать что-л. другое в др. файле, необходимо объявлять класс.
 

Said

Guest
Автор оригинала: tony2001
а сам класс инклудится до этой проверки?
очень похоже на http://bugs.php.net/bug.php?id=19842 - там внизу объяснение.
если это так, то это _не баг_
похоже что это именно оно
Bug #19842 is_object returns FALSE on Incomplete classes
хотя объяснение сводится к "низзя"

я не инклудил класс вполне сознательно чтобы было меньше инклудов :) т.к. требовалось только проверить тип и gettype меня от этого инклуда спас.

получается is_object возвращает true только когдо класс объекта определен
для gettype лишь бы был объект.
 

tony2001

TeaM PHPClub
да.
объект без класса - это не вполной мере объект.

>я не инклудил класс вполне сознательно чтобы было меньше инклудов
имхо это не самое узкое место.
 

Said

Guest
Автор оригинала: tony2001
>я не инклудил класс вполне сознательно чтобы было меньше инклудов
имхо это не самое узкое место.
но оно становится все уже когда их становится все больше (тоже имхо)
 
Сверху