我目前正在开发一个php类,我打算让它尽可能重用,因此我必须将该类逻辑与该类分开。
我想出的解决方案就是这个。
myClass
{
public function someHandler($function)
{
//some class dependent logic
$function();
//some other class dependent logic
}
}
然后当实例化类时,它会像这样:
$someRandomVar ='someValue';
$myClass = new myClass();
$myClass->someHandler(function() use ($someRandomVar, &$someRandomOutput) {
//define some behavior which can also include $someRandomVar and $someRandomOutput
});
//$someRandomOutput will be used here somewhere
班级内部的逻辑比这更复杂,但没有人会关心它,我只是想让班级尽可能方便用户。
我知道这可能看起来像是糟糕的设计,但我必须以某种方式做到这一点,因为有些逻辑不属于那个类但是类需要执行那个用户定义的代码,我不能完全从类中分离出来这就是我提出问题的地方:在性能/开销/用户友好性方面,最好的方法是什么?