我正在设计一个类,到目前为止大致类似于以下内容
在 main.php
$coolObject = new CoolObject(true);
foreach($array as $key=>$val)
{
$coolObject->doFunction($val);
}
然后在 CoolObject 内部:
class CoolObject
{
private $_useFunction;
public function __construct($useFoo)
{
//THIS IS WHERE I NEED HELP
if($useFoo){
$this->_useFunction = $this->_foo();
}
else{
$this->_useFunction = $this->_bar();
}
}
public function doFunction($values)
{
$this->_useFunction($values);
}
private function foo($values){
//do stuff
}
private function bar($values){
//do other stuff
}
}
我意识到我可以将 if 语句或 switch 放入可以处理此功能的 doFunction 中,但是由于我不喜欢闭包/ lamdas,所以我不确定这是否适合他们,或者我是否完全不在根据