2016-04-26 18 views
0
非常によく

マイspl_autoload_register作品が、試してみるが、この警告の取得PDO O mysqliのspl_autoload_register PDOの読み込みに問題がありますか?

spl_autoload_register(function ($class_name) { 

    require("{$class_name}.php"); 

}); 

をロードするとき、私はトラブルに巻き込ま:

Warning: require(aplicacion\dao\mysqli.php): failed to open stream: No such file or directory in 

私はそれを修正することができますどのように?

+2

私は解決策は、多分、クラスまたはファイルが、その後のような「BREAK」、何かを存在しない場合のようなものを信じています。 –

+0

名前空間を使用していますか?はいの場合、名前空間内のPDOをインスタンス化するには、 'new \ PDO;'のようにする必要があります。バックスラッシュに注意してください。あるいは、PDOを使用しているファイルに 'use PDO;'を追加することもできます。 – frz3993

答えて

1

あなたのオートローダーは、不明なクラスで最初に動作します。だからあなたは確かめる必要があります、あなたは他の人にそれの背後に行動する機会を得る。

pdo.phpを提供していない、どのクラスにもファイルが必要です。だからこれは失敗します。

代わりにこれを試してみてください:THIS SPL_AUTOLOADをIGNORE通常のロードを続ける:

spl_autoload_register(function ($class_name) { 
    $file = $class_name.'.php'; 
    if (file_exists($file) { 
     require($file); 
    } 
}); 
関連する問題