我有一个事件类,用于将数据插入/更新到我的数据库中。有没有一种方法可以从我的 db_fields 数组创建公共(public)变量,这样我就不必复制数据了?
这是我目前有效的结构...
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 - 可以从 php 中的数组动态定义类默认公共(public)变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717399/