fruffl icon

Untitled

fruffl | 09/27/13 10:17:04 AM UTC | 0 ⭐ | 288 👁️ | Never ⏰ | []
PHP |

1.32 KB

|

None

|

0 👍

/

0 👎

 
        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