protected static function is($__is, $__optional, $__never, $__in)
{
$__in = static::request($__in);
if(FALSE === ($__is === ($__is & $__in)))
{
return FALSE;
}
foreach(ClsInf::constants(get_called_class()) as $k => $v)
{
foreach((array) $__never as $group)
if($v === ($v & $group) && $v === ($v & $__in))
{
print __str::TAB.__str::TAB.'EXIT '.$k.PHP_EOL;
return FALSE;
}
foreach((array) $__never as $group)
if($v === ($v & $group) && $v === ($v & $__in))
{
print __str::TAB.__str::TAB.'OPTIONAL '.$k.PHP_EOL;
return TRUE;
}
}
return TRUE;
}
static function isObjectProperty($__request)
{
return static::is
(
self::T_PAIR, // always base with sub
self::T_P1_VAR|self::T_P1_ALIAS|self::T_P2_VAR|self::T_P2_ALIAS, // valid is ($?($?)base with ($?($?)sub
self::T_FUNC|self::T_STATIC, // never base::sub or base::sub()
$__request
);
}
static function isStaticProperty($__request)
{
return static::is
(
self::T_PAIR|self::T_STATIC, // always base with sub, always base::sub
self::T_P1_VAR|self::T_P1_ALIAS|self::T_P2_VAR|self::T_P2_ALIAS, // valid is ($?($?)base with ($?($?)sub
self::T_FUNC, // never base::sub()
$__request
);
}
Comments