【发布时间】:2016-06-03 07:15:35
【问题描述】:
在我的演示项目中,我想访问某个类的静态变量,但这些变量名是动态传递的。我正在尝试使用如下所示的函数变量:
public function filterBy($params)
{
foreach ($params as $key=>$value) {
$filter_field_name = strtoupper($key);
$this->criteria->add(ProductPeer::$filter_field_name, $value, Criteria::EQUAL);
}
return $this;
}
它给了我错误
致命错误:访问未声明的静态属性: ProductPeer::$filter_field_name in /home/sfprojects/shopme/lib/product/ProductDb.php 在第 47 行
虽然如果我使用ProductPeer::STATUS 而不是ProductPeer::$filter_field_name 那么它可以工作。
这里有什么问题?
【问题讨论】: