gpt4 book ai didi

php - Laravel 助手接口(interface)

转载 作者:可可西里 更新时间:2023-11-01 00:58:11 26 4
gpt4 key购买 nike

简单的例子,我有以下用于计算的辅助接口(interface):

interface Calculation
{
public function calculate();
}

还有几个实现这个接口(interface)的类:

class One implements Calculation
{
public function calculate()
{
return some calculation;
}
}


class Two implements Calculation
{
public function calculate()
{
return some different calculation;
}
}

// and so on..

现在,在我看来,我有下面显示的代码,但我希望能够摆脱此处的 if。我希望能够做类似的事情:

foreach($units as $unit)
{
$total = (new \App\Helpers\{$unit})->calculate();
}

我该怎么做?

foreach($units as $unit)
{
if($unit === 'One')
{
$total = (new \App\Helpers\One)->calculate();
}

if($unit === 'Two')
{
$total = (new \App\Helpers\Two)->calculate();
}

if($unit === 'Three')
{
$total = (new \App\Helpers\Three)->calculate();
}

if($unit === 'Four')
{
$total = (new \App\Helpers\Four)->calculate();
}

// and so on..
}

最佳答案

试试这段代码:

   foreach($units as $unit)
{
$class="\\App\\Helpers\\".$unit;
$total=(new $class)->calculate();
}

关于php - Laravel 助手接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35253161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com