我在两个类似的解决方案之间询问您的偏好。
第一种方式:
public function test($myvar) {
switch ($myvar) {
case 'test1': return [
'value' => 'Value of test1',
'short' => 'Val 1'
];
break;
}
}
$this->test('test1')['short'] // Val 1
第二种方式:
public function test($myvar, $key) {
switch ($myvar) {
case 'test1': $array = [
'value' => 'Value of test1',
'short' => 'Val 1'
];
}
return $array[$key];
}
$this->test('test1', 'short') // Val 1
即使两个函数都返回相同的值,对你们来说最优雅和可读的方式是什么?
答案 0 :(得分:2)
对我来说,它是第二个很少修改的。 看看:
public function test($myvar, $key = null) {
switch ($myvar) {
case 'test1': $array = [
'value' => 'Value of test1',
'short' => 'Val 1'
];
}
if(!empty($key))
return $array[$key];
else
return $array;
}
使用:
$this->test('test1', 'short') // Val 1
$this->test('test1')['short'] // Val 1
$this->test('test1')['value'] // Value of test1
通过这种方式,您可以将这两种方法与单一功能结合使用。 请记住,函数需要尽可能通用,以减少代码和执行更多操作。 "代码不是资产,它是一种责任。你写的越多,你以后需要维护的越多。" :)