PHPのオートローディングはis_callable関数でもきちんと働く

PHPのオートローディングで1つ気になることがあったので実験。

/test.php

<?php
function __autoload($class)
{
    $path = "classes/{$class}.php";
    if (file_exists($path)) {
        include_once $path;
    }
}

var_dump(is_callable('Foo::execute'));
var_dump(is_callable(array('Foo', 'execute'));

/classes/Foo.php

<?php
class Foo
{
    public static function execute()
    {
        echo 'Hello';
    }
}

この状態でtest.phpを実行。var_dumpでいずれもtrueが出力されることを確認しました。クラス実行時にオートローディングが働くことはわかっていましたが、is_callable関数でも働くかどうか不安だったので試してみたということで。