1

次のようなクラス定義があります。

class User{
    public $first;
    public $last;
    public $email;
    public $guid;
    public $website;
    public $bio;
    public $picture;
    public $gender;
    ...
}

次のように、ファクトリ関数から値を取得してクラスに配置するコンストラクター。

public function __construct($guid, $first , $last,$email, $bio, $picture, $gender) {
    $this->guid = $guid;
    $this->first = $first;
    $this->last = $last;
    $this->email = $email;
            ...
}

これらすべての変数を自動的に割り当てる簡単な方法はありますか? または、PHP のパラメーター関数で for を使用して、それらすべてをループできますか?

4

3 に答える 3

0
<?php

class User {

    public $first;
    public $last;
    public $email;
    public $guid;
    public $website;
    public $bio;
    public $picture;
    public $gender;


    public function __construct($params) { // Same params array from previous answer.

        foreach ($params as $key => $value) {

            $this->$key = $value;
        }

    }
}

?>
于 2012-12-28T04:23:55.287 に答える
0

そのような場合、これはより簡単になるはずです:

class User{

    public function __construct($params) {//params is array('first' => 'hello', 'last' => 'hi', 'email'=>'hellohi@hi.com')
        foreach ($params as $key => $value)
        {
            $this->$key = $value;
        }
    }
}

その後、次のようにプロパティにアクセスできます。

$params = array('first' => 'hello', 'last' => 'hi', 'email'=>'hellohi@hi.com');
$user = new User($params);
echo $user->first;
于 2012-12-28T04:21:38.210 に答える