php - 具有多个参数的一种方法还是具有一个参数的多种方法?

标签 php oop function methods

想象一个用于跟踪对手之间游戏的“游戏”类。 OOP 是使用 1 种方法根据用户输入参数检索游戏更好,还是使用多种特定于检索目标的方法更好?

class Games {
  function get_games($game_id = NULL, $stadium_id = NULL, $start_date = NULL,   
      $end_date = NULL, $count = 999); {}
}

对比

class Games {
  function get_all_games($count = 999); {}
  function get_game_by_id($game_id = 1); {}
  function get_games_by_stadium($stadium_id = 1); {}
  function get_games_by_dates($start_date = NULL; $end_date = NULL) {}
}

好处的解释和任何编码/snytax 提示将不胜感激。谢谢。

最佳答案

我对 OOP 的实践越多,我就越发现自己遵循有关将参数传递给方法的规则。有点像嵌套了很多层的 if 语句,我发现如果我有两个以上,我可能做错了什么。

保持代码简单。您正在编写一个执行某些操作的方法,而不是执行所有操作的过程代码块。如果你想玩游戏,那就玩游戏吧。如果您想获取某个日期范围内的列表,请执行此操作。

但是我要指出的是,您实际上并不需要 get_all_games() - 您可以只允许不带参数传递 get_games_by_dates()。如果它没有得到任何那么它将永远获得每个日期的游戏(所有游戏)

关于php - 具有多个参数的一种方法还是具有一个参数的多种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811046/

相关文章:

javascript - 我想用 javascript 而不是单个页面动态更改主要内容

php - 在 WooCommerce 购物车页面中添加费用的自定义复选框

java - 重载静态变量是否需要静态后期绑定(bind)?

PHP 类继承 - 内存不足

php - 使用 MySql Update 和 PHP 制作表情符号

c++ - _beginthreadex 静态成员函数

function - 在 Maybe 类型上应用函数?

php - 如果另一个字段具有特定条件,如何隐藏列值

php - Symfony 3,形式中的多对一关系

php - 声明和调用名称中带有句点的 PHP 对象函数