fruffl icon

Untitled

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

8.47 KB

|

None

|

0 👍

/

0 👎

        static function isFunc($__request)
        {
            return static::is
            (
                self::T_FUNC,
                0b00,
                self::T_PAIR|self::T_P2_VAR|self::T_P2_ALIAS,
                $__request
            );
        }
        
        
        static function isVar($__request)
        {
            return static::is
            (
                self::T_P2_VAR,
                0b00,
                self::T_PAIR|self::T_FUNC|self::T_P2_ALIAS,
                $__request
            );
        }
 
 
 
    $t = [
        'foo->bar', 'foo::bar', 'foo->$bar', 'foo::$bar', 'foo->$$bar', 'foo::$$bar', 'bar',
        'foo->bar()', 'foo::bar()', 'foo->$bar()', 'foo::$bar()', 'foo->$$bar()', 'foo::$$bar()', 'bar()',
        '$foo->bar', '$foo::bar', '$foo->$bar', '$foo::$bar', '$foo->$$bar', '$foo::$$bar', '$bar',
        '$foo->bar()', '$foo::bar()', '$foo->$bar()', '$foo::$bar()', '$foo->$$bar()', '$foo::$$bar()', '$bar()',
        '$$foo->bar', '$$foo::bar', '$$foo->$bar', '$$foo::$bar', '$$foo->$$bar', '$$foo::$$bar', '$$bar',
        '$$foo->bar()', '$$foo::bar()', '$$foo->$bar()', '$$foo::$bar()', '$$foo->$$bar()', '$$foo::$$bar()', '$$bar()',
    ];
    
    foreach($t as $v)
    {
        print $v.PHP_EOL;
        foreach(['isFunc', 'isVar', 'isVarFunc', 'isVarAlias', 'isVarAliasFunc'] as $m)
            print __str::TAB.__str::TAB.Str::leftPad($m, 20).'=> '.Str::bool(PhpStx::$m($v)).PHP_EOL;
    }
 
/*
----
foo->bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo::bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo->$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo::$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo->$$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo::$$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo->bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo::bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo->$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo::$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo->$$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
foo::$$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
bar()
        ..............isFunc => TRUE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo->bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo::bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo->$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo::$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo->$$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo::$$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$bar
        ..............isFunc => FALSE
        ...............isVar => TRUE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo->bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo::bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo->$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo::$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo->$$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$foo::$$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => TRUE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo->bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo::bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo->$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo::$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo->$$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo::$$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$bar
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => TRUE
        ......isVarAliasFunc => FALSE
$$foo->bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo::bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo->$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo::$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo->$$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$foo::$$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => FALSE
$$bar()
        ..............isFunc => FALSE
        ...............isVar => FALSE
        ...........isVarFunc => FALSE
        ..........isVarAlias => FALSE
        ......isVarAliasFunc => TRUE

Comments