你能在PHP的类方法中定义类变量吗?

时间:2011-07-10 18:59:46

标签: php mysqli

我想从文件表中提取有关文件的所有信息,但该表的结构可能会发生变化。

所以,我想从表中提取所有字段名称并使用它们来生成包含信息的类变量,然后将选定的数据存储到它们中。

这可能吗?

2 个答案:

答案 0 :(得分:4)

是的,你可以看看php重载。

http://php.net/manual/en/language.oop5.overloading.php

快速示例:(这不是很好的用法)

<?php

class MyClass{
    var $my_vars;

    function __set($key,$value){
        $this->my_vars[$key] = $value;
    }

    function __get($key){
        return $this->my_vars[$key];
    }
}

$x = new MyClass();

$x->test = 10;
echo $x->test;

?>

答案 1 :(得分:3)

<强>示例

<?php

    class TestClass
    {

        public $Property1;

        public function Method1()
        {

            $this->Property1 = '1';
            $this->Property2 = '2';

        }

    }

    $t = new TestClass();
    $t->Method1();

    print( '<pre>' );
    print_r( $t );
    print( '</pre>' );

?>

<强>输出

TestClass Object
(
    [Property1] => 1
    [Property2] => 2
)

如您所见,未定义的属性仅通过使用对$this的引用分配给它来创建。所以是的,您可以在类方法中定义类变量