2012-04-14 20 views
0
<?php 

class User { 

    private $id; 
    private $username; 

    public function __construct($id = null) { 
     $this->id = $id; 

     if (!is_null($this->id)) { 
      $this->load(); 
     } 
    } 

    public function load() { 


    } 

} 

?> 

私は現在のユーザ(ID)からすべての情報を読み込みますが、すべての情報を読み込むにはどうすればよいのでしょうか。すべてのデータを取得してすべてのプライベート変数を割り当てることができますが、すべてのデータを取得するための別の「安価な」方法が必要であると仮定します。ユーザクラス - '読み込み'データ

すべての単一のデータ行を割り当てる必要はなく、loadメソッドで選択します。どうやって?

+0

あなたが達成したいのか明確ではありません。あなたは '$ this->変数;とあなたが作りたい初期化の種類について開発できますか? –

答えて

1

を私が想定しています次:

  • 各ユーザーオブジェクトは、データベース内の1行を表し
  • あなたが情報を取得することができます連想配列であなたのユーザーのために:

    $user = array('name' => 'John', 'age' => 20);

はその後、おそらくあなたのload()方法で実行可能な解決策になる可能性の変数変数を使用して:

foreach($user as $key => $userData){ 
    $this->$$key = $userData; //Note the use of variables variable 
} 
0

あなたはPHPで、このように複数の変数を割り当てることができます。

private function getUserData() { 
    return array("42", "JohnDoe"); 
} 

public function load() { 
    list($this->id, $this->username) = getUserData(); 
} 
関連する問題