2012-02-14 6 views
0

私はSQLクラスで作業していて、クラス全体で使用できるように外部のPHPファイルからデータを取り出す方法を見つけようとしています。クラス構成のファイルをロードする

class sqlQuery { 
    protected $database = array(); 

    function __construct(){ 
    require_once (config.php); 
    } 
} 

class model extends sqlQuery { 
    function __construct() { 
    $this->connect($this->database['hostname'], $this->database['user'], $this->database['pass'], $this->database['database']); 
    } 
} 

ファイルは、将来的に他の情報が含まれる場合がありますので、私はちょうど拡張クラス、より多くのそれが利用可能たい:私はこのような何かをしなければならない イムguesing。

+1

モデルは単なるデータベースではありませんを埋めるためにあなたの親クラスのコンストラクタを変更します。モデルはSqlQueryとして動作しません。あなたはここで継承を誤用しています。モデルをモデルから拡張するのではなく、コンストラクターを介してQueryクラスを挿入します。そして、configデータを内部に要求するのではなく、Queryオブジェクトに注入します。 – Gordon

+0

あなたの質問へのリテラルの答えは、親クラスのctorも呼び出すときに、拡張クラスctorで 'parent :: __ construct()'を実行することです。 – Gordon

答えて

0

まず、あなたはクラスmodelで親コンストラクタを呼び出す必要があります。

function __construct() { 
    parent::__construct(); 
    // your other logic there 
} 

それからちょうど$this->database配列

+0

実際、それは 'parent :: __ construct()'です。親は定数であり、変数ではありません。あなたのためにそれを修正しました。 –

関連する問題