0
<?php
class Testing
{
    final public static function foo()
    {
        return;
    }
    public function bar()
    {
        return;
    }
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "Modifiers for method foo():\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "Modifiers for method bar():\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
?>

以上代码取自ReflectionMethod::getModifiers()php 手册中的 Example #1 示例:http: //php.net/manual/en/reflectionmethod.getmodifiers.php

问题:代码:$foo->getModifiers(),输出是261,这是什么意思?

4

1 回答 1

1

它是一个位域,由这些常量的按位或组成。

Reflection::getModifierNames使它更容易理解:

php> =Reflection::getModifierNames(261)
array(
  0 => "final",
  1 => "public",
  2 => "static",
)
于 2013-04-22T02:34:49.557 回答