2012-02-07 12 views
1

名前空間を使用しようとするとこのエラーが発生します。致命的なエラー:クラス 'App PDO'が見つかりません

私はトップ

namespace App;

を持ち、そしてクラスが

class database{ 

    function __construct(..) 
    try{ 
     $this->db = new PDO(...) <-- here the error 
    ... 
    } 
} 

のように見える私は名前空間が作業を行う方法を理解する」いけませんか? app/PDOが見つからない場合、PHPをデフォルトのPDOクラスにフォールバックするべきではありませんか?

答えて

3

Shouldn't PHP fallback to the default PDO class if app/PDO is not found?

いいえ、そうしてはいけません。 documentationから

Class names always resolve to the current namespace name. Thus to access internal or non-namespaced user classes, One must refer to them with their fully qualified Name

あなたの具体的な例については、PDOの完全修飾名は\PDOだろう。

+0

大丈夫ですので、 "pdo"の完全修飾名は何ですか。私は他のことを知らない... – Alex

+1

@Alex: '\ PDO'はあなたのために働くだろう。 –

+0

okありがとう、それは今働いています:) – Alex

1

名前空間の後でクラスの前にuse PDO;を追加するだけです。

関連する問題