如何创建多名称方法?

时间:2015-12-26 10:51:34

标签: php mysql oop

我有一些像这样的网址:

www.example.com/classname/method1/arg
www.example.com/classname/method2/arg
www.example.com/classname/method3/arg

我也有class这样:

class classname{

    public function method1($arg){
        return $this->main_method(__FUNCTION__, $arg);
    }

    public function method2($arg){
        return $this->main_method(__FUNCTION__, $arg);
    }

    public function method3($arg){
        return $this->main_method(__FUNCTION__, $arg);
    }

    public main_method($TableName, $arg){
        // connect to database
        $stm = $db->prepare("SELECT id, word, mean FROM $TableName where word = ':word'");
        $stm->bindValue(":word", $arg, PDO::PARAM_STR);
        $stm->execute();
        $result = $stm->fetch();

        return = $result;
    }
}

从上面的代码中可以清楚地看到,有三个表:

// method1                    // method2                    // method3
+----+------+-----------+     +----+------+-----------+     +----+------+-----------+
| id | word |   mean    |     | id | word |   mean    |     | id | word |   mean    |
+----+------+-----------+     +----+------+-----------+     +----+------+-----------+

现在我想知道,我是否可以创建一个具有多个名称的函数?因为这三个方法有一个(几乎)相同的操作... (我可以将方法的名称作为另一个参数传递给那个多名称方法)或者怎么能我优化了上面的代码?

1 个答案:

答案 0 :(得分:1)

所以你在DB中有三个表具有完全相同的列? 您应该使用一种API方法和一种执行方法将所有内容保存在一个表中。