我收到了这个错误,我无法确定是什么问题。我的代码是
class Example{
public function get_lang()
{
$jezik = get_option('jezik');
switch ($jezik ) {
case $jezik == 'rs_RS':
$drzava = 'NazivSrb';
break;
case $jezik == 'ro_RO':
$drzava = 'NazivRo';
break;
case $jezik == 'uk_UK':
$drzava = 'NazivRu';
break;
}
return $drzava;
}
static public function ExecuteSql($where_criteria=NULL) {
global $wpdb;
$drzva = $this->get_lang();
$upit = "
SELECT ID, Naziv, $drzava, PhoneCode, Kod
FROM wp_drzava";
if ($where_criteria)
$upit .=" WHERE ". $where_criteria ;
$upit .= " GROUP BY Kod";
//echo $upit;
return $wpdb->get_results($upit);
}
{
基本上我尝试使用get_lang方法返回值,并将其保存到其他方法的变量中,并将其传递给查询。 但我在这一行得到了一个错误
$drzva = $this->get_lang();
答案 0 :(得分:1)
如果要在$this
方法中使用相同的类方法,则无法在static
方法中使用self
..使用static
关键字
self::get_lang();
编辑: get_lang()
应该是静态方法,如果你没有在方法中使用类属性。
答案 1 :(得分:0)
您不能在静态公共函数中使用$this
($this
不存在)。
要解决此问题,请使用:
$example = new Example;
$drzva = $example->get_lang();