Php 类中的重用方法
我有一个基本上返回mysql查询结果的方法Php 类中的重用方法,php,mysql,methods,Php,Mysql,Methods,我有一个基本上返回mysql查询结果的方法 public function getStuff() { $this->sort = "myColumn ASC"; $query = ... ORDER BY $this->sort; return $data; } 我想重用这个结果,只是使用不同的排序顺序,而且似乎我应该能够在另一个方法中获取数据,只需调用原始方法。像这样: public function getMoreStuff() { $this->sort = "anot
public function getStuff() {
$this->sort = "myColumn ASC";
$query = ... ORDER BY $this->sort;
return $data;
}
我想重用这个结果,只是使用不同的排序顺序,而且似乎我应该能够在另一个方法中获取数据,只需调用原始方法。像这样:
public function getMoreStuff() {
$this->sort = "anotherColumn DESC";
$this->getStuff();
}
但是,虽然“getStuff()”按预期返回数据,但“getMoreStuff()”不返回任何内容。我确信没有必要将整个查询复制到我的第二个方法中,但是我不知道如何包含它。任何指导都将不胜感激。谢谢 一种方法:
public function getStuff($sort = 'myColumn ASC') {
$query = "... ORDER BY $sort";
}
使用变量$sort
-值从类外部调用它,或使用已定义的方法名称(如快捷方式)从类内部调用它。两个问题:
getStuff($sort)进行排序=
“myColumn ASC”)
,然后在需要时向getStuff()提供不同的排序顺序return$this->getStuff()
(或返回$this->getStuff(“另一列描述”);
谢谢!这当然适用于使用不同的$sort值,但是您知道为什么一个查询不会在单独调用同一个方法时返回值,而在作为另一个方法的一部分调用时不会返回值吗?我不明白为什么$this->getStuff()作为我第二种方法的一部分调用时不起作用。慢速打字机-很抱歉复制了你的部分答案,chelmertz。