PHP模块-无法设置变量
我对模块化编程相当陌生 在模块中设置变量时遇到问题,但仅在特定函数中设置 我已(移除无用的东西): 我在模块中有两个公共函数,它们做的事情都差不多,但是其中一个会用PHP模块-无法设置变量,php,oop,variables,module,Php,Oop,Variables,Module,我对模块化编程相当陌生 在模块中设置变量时遇到问题,但仅在特定函数中设置 我已(移除无用的东西): 我在模块中有两个公共函数,它们做的事情都差不多,但是其中一个会用$this->setResultsFound(12)设置var,而另一个不会 public function sortSearchBar($categoryID, $brandID, $sort = false, $limit = false, $search = false){ foreach ($this->sort
$this->setResultsFound(12)
设置var,而另一个不会
public function sortSearchBar($categoryID, $brandID, $sort = false, $limit = false, $search = false){
foreach ($this->sortAwway as $key => $val) {
$optionItems[] = '<option value="'.$key.'"'. (($sort == $key) ? ' selected="selected"' : '' ) .'>'.$this->htmlspecialchars($val).'</option>';
}
foreach ($this->searchLimit as $key => $val) {
$limitItems[] = '<option value="'.$key.'"'. (($limit == $key) ? ' selected="selected"' : '' ) .'>'.$this->htmlspecialchars($val).'</option>';
}
$this->setResultsFound(12); //works
return '
<form action=...
</form>';
}
public function showProductItemList($categoryID, $brandID = false, $page, $sort = false, $limit = false, $search = false, $cleanURL = true){
//echo $this->echoArray($this->getProductsForCategory($categoryID, $brandID));
$q = $this->getProductsForCategory($categoryID, $brandID, $sort, $search);
$this->setResultsFound(12); //doesn't work
return $this->formatProductResults($q, $limit, $cleanURL, $page);
}
公共函数sortSearchBar($categoryID、$brandID、$sort=false、$limit=false、$search=false){
foreach($this->sortAwway as$key=>$val){
$optionItems[]=''.$this->htmlspecialchars($val)。'';
}
foreach($key=>val时的此->搜索限制){
$limitItems[]=''.$this->htmlspecialchars($val)。'';
}
$this->setResultsFound(12);//有效
返回'
formatProductResults($q、$limit、$cleanURL、$page);
}
有人知道为什么吗
干杯,
Rhys在字里行间,我认为
setResultsFound()
方法可能应该声明为protected
,而不是private
.谢谢,但那没用。这是一个我以前从未见过的问题。即使将其设置为公共,也没有任何变化。您如何确定它不起作用?我只是想知道您调用
showProductItemList()
的方式是否导致该值在执行后被更改。您是对的。它似乎是在设置,而不是从公共get函数调用,除非我从模块外部调用它。我会在可见性方面做更多的工作。谢谢
public function sortSearchBar($categoryID, $brandID, $sort = false, $limit = false, $search = false){
foreach ($this->sortAwway as $key => $val) {
$optionItems[] = '<option value="'.$key.'"'. (($sort == $key) ? ' selected="selected"' : '' ) .'>'.$this->htmlspecialchars($val).'</option>';
}
foreach ($this->searchLimit as $key => $val) {
$limitItems[] = '<option value="'.$key.'"'. (($limit == $key) ? ' selected="selected"' : '' ) .'>'.$this->htmlspecialchars($val).'</option>';
}
$this->setResultsFound(12); //works
return '
<form action=...
</form>';
}
public function showProductItemList($categoryID, $brandID = false, $page, $sort = false, $limit = false, $search = false, $cleanURL = true){
//echo $this->echoArray($this->getProductsForCategory($categoryID, $brandID));
$q = $this->getProductsForCategory($categoryID, $brandID, $sort, $search);
$this->setResultsFound(12); //doesn't work
return $this->formatProductResults($q, $limit, $cleanURL, $page);
}