我有多个类,如:SearchForX, SearchForY,…
每个类都有一个搜索方法,所以我需要使用它们:
use SearchForX;
use SearchForY;
// (...)
在代码中:
$searchForX = SearchForX();
$searchForX->search($input);
$searchForY = SearchForY();
$searchForY->search($input);
// (...)
是否可以这样做:
$search->x($input);
$search->y($input);
有我之前说过的多个类吗?
当然,
class SearchWrapper{
protected $ClassX;
protected $ClassY;
public function _construct(){
$this->ClassX = new ClassX;
$this->ClassY = new ClassY;
}
public function search( $class, $input ){
$this->{$class}->search($input);
}
}
如果你要去
$S = new SearchWrapper();
$S->search('ClassY',$input);
$S->search('ClassX',$input);
例如,或类似的东西。您可以看到,本例中的搜索包装器包装了类x和y