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