我有一个事件类,我用它来插入/更新数据到我的数据库.有没有办法,我可以从我的db_fields数组创建公共变量,以便我不必复制数据?
这是我现在的结构……
class event{
protected static $table_name='tName';
protected static $db_fields = array('field1','field2','field3','field4','field5');
public $field1;
public $field2;
public $field3;
public $field4;
public $field5;
}
我想要这样的东西……
class event{
protected static $table_name='tName';
protected static $db_fields = array('field1','field2','field3','field4','field5');
function __construct() {
create_public_vars_here($db_fields);
}
}
谢谢!
解决方法:
您可以尝试以下方法:
class event{
protected static $table_name='tName';
protected static $db_fields = array('field1','field2','field3','field4','field5');
function __construct() {
foreach (self::$db_fields as $var) {
$this->$var = $whateverDefaultValue;
}
// After the foreach loop, you'll have a bunch of properties of this object with the variable names being the string values of the $db_fiels.
// For example, you'll have $field1, $field2, etc and they will be loaded with the value $whateverDefaultValue (probably want to set it to null).
}
}
标签:php,properties,class,mutators
来源: https://codeday.me/bug/20190625/1288193.html