1

spl_autoload_register によって登録された関数が、それを呼び出しているソース ファイル/クラス/メソッドを知る方法はありますか? クラスが見つからないときに有用なエラーを出力できるようにしたいので、どのソースファイルを更新する必要があるかがわかります。例えば:

spl_autoload_register(function($className)
{
    $classFile = 'include/' . $className . '.php';
    if (!is_readable($classFile))
    {
        echo 'Could not load ' . $className . ' requested by ' . $source; 
        // how to figure out $source -----------------------------^^
        return false;
    }

    include $classFile;
    return false;
}
4

2 に答える 2

1

それがスタックトレースです。エラーにつながる一連のイベントが表示されます(クラス、行番号などの詳細を提供できます)

于 2013-11-20T18:03:16.220 に答える
0

var ダンプdebug_backtrace()を試して、返される配列を確認し、それが役立つかどうかを確認してください。

spl_autoload_register(function($className)
{
    var_dump(debug_backtrace());

    ...
于 2013-11-20T18:19:06.863 に答える