Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否使用php切换代码气味_Php_Switch Statement - Fatal编程技术网

是否使用php切换代码气味

是否使用php切换代码气味,php,switch-statement,Php,Switch Statement,我正在用PHP编写一个类和方法,它使用switch调用依赖于特定url的其他方法。示例如下: switch($this->clean([$_POST['task'])) { case "edit": $this->editssomething(); break; case "save": $this->savesomethingelse(); break; default: $this-&g

我正在用PHP编写一个类和方法,它使用switch调用依赖于特定url的其他方法。示例如下:

switch($this->clean([$_POST['task']))
{
    case "edit":
        $this->editssomething();
    break;
    case "save":
        $this->savesomethingelse();
    break;
    default:
        $this->dodefault();
    break;
}
这是否被归类为代码气味,我应该重构它还是将其归类为工厂类


谢谢你,闻起来不错,但是默认值不需要“break”,还要确保用camel或“\ux”来命名你的函数


这听起来不错,但默认值不需要“break”,还请确保使用camel或“\ux”来命名函数


在我看来,这正是
switch
的用意。它通常比一堆
if/else if
块清晰得多。我以前从未听说过“代码气味”这个词,因此感谢您提醒我它有一个名称。^这绝对好。switch语句的整个概念是减少嵌套和混乱的if语句的数量!这是很好的编程实践!:)这可能会以基于意见的方式结束,但通常最好为每个操作使用单独的控制器方法。因此,要有单独的
/save
/edit
路由,而不是由调度员根据另一个请求参数处理它们。在我看来,这正是
开关的本意。它通常比一堆
if/else if
块清晰得多。我以前从未听过“代码气味”这个词,谢谢你让我注意到它有一个名字^那太好了。switch语句的整个概念是减少嵌套和混乱的if语句的数量!这是很好的编程实践!:)这可能会以基于意见的方式结束,但通常最好为每个操作使用单独的控制器方法。因此,应该有单独的
/save
/edit
路由,而不是基于另一个请求参数处理它们的调度程序。
switch( $this->clean($_POST['task']) )
{
    case "edit":
        $this->editssomething();
    break;

    case "save":
        $this->savesomethingelse();
    break;

    default:
        $this->dodefault();
}