定义具有别名功能的好方法

时间:2012-08-22 15:01:53

标签: php function optimization

由于向后兼容性问题,我需要有两个函数,一个是另一个函数的别名。

public function getMostPopularArticles(array $params = array())
{
    $this->getMostViewedArticles($params);
}

public function getMostViewedArticles(array $params = array())
{
    return $this->_response_request(".....");
}

getMostPopularArticles()是新函数,它是旧函数的别名(及时删除)getMostViewedArticles()

我是这样做的吗?还有改进空间吗?

我必须提到getMostViewedArticles()(旧函数)正在使用新参数来返回正确的数据,但我只需要一个具有正确名称(getMostPopularArticles())的别名,以便用户拥有更新代码所需的时间以及将来的版本中,完全删除旧的命名函数。

2 个答案:

答案 0 :(得分:2)

你为什么不这样做:

public function getMostViewedArticles(array $params = array())
{
    return getMostPopularArticles($params);
}

这样,任何新的更改都只需要在getMostPopularArticles中完成,但遗留代码仍然可以使用getMostViewedArticles

同样getMostPopularArticles应该具有您当前使用的任何业务逻辑,因为这是您想要继续使用的新功能

public function getMostPopularArticles(array $params = array())
{
    return $this->_response_request(".....");
}

答案 1 :(得分:0)

如果你有一个不推荐使用的函数,你应该在所有新代码中避免使用它。删除该功能后,您的代码(显然)会中断。因此,您不应该调用已弃用的函数:您应该在新调用中复制并粘贴代码(或重写代码)。