0

作成した新しいクラス オブジェクトを使用しています。このクラスには、MySQL クエリから返された結果に基づいて設定する必要がある 30 以上の変数が含まれています。

現在、次のような変数を設定しています。

    class MyClass {
        public static $id = null;
        public static $name = null;
        public static $description = null;
        public static $tags = null;
        public static $url = null;

        public function __construct( $params = null ) {

            if( $params != null ) {
                $this->id = $params->id;
                $this->name = $params->name;
                $this->description = $params->description;
                $this->tags = $params->tags;
                $this->url = $params->url;
            }
        }
    }

私ができるようにしたいのは、構築関数で、$params 変数をループし、$params 内のキー->値ペアに基づいてクラス内の変数を自動的に設定することです。

したがって、擬似コードでは:

for( size of $params ) {
    $this->($paramkeyname) = $params->($samekeyname);
}

これは動的変数呼び出しを使用することは可能ですか、または誰でも簡単な方法を提案できますか?

4

1 に答える 1

2

使用するだけforeach

foreach($params AS $key => $val){
    $this->$key = $val;
}

配列を渡していることを確認してください

public function __construct(array $params = array()) {
于 2013-01-28T20:10:51.520 に答える