区块链技术博客
www.b2bchain.cn

如果只有孩子需要这些数据,将所有内容传递给基类是一件好事? – php程序员分享

本文介绍了如果只有孩子需要这些数据,将所有内容传递给基类是一件好事? – php程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

给定以下继承结构:

abstract class Base {     protected $version;      public function __constructor($version)     {         $this->version = $version;     }      public abstract function doSql(); }  class MySQL extends Base {     public function doSql()     {         switch($this->version)         {              case 1 :                  break;              case 2 :                  break;         }     } }  class Oracle extends Base {     public function doSql()     {         switch($this->version)         {              case 1 :                  break;              case 2 :                  break;         }     } } 

在此示例中,$version将在所有子类中使用,但不用于基类,因此对我来说很香。基本本身不需要$version
重构后:

abstract class Base {     public abstract function doSql($version); }  class MySQL extends Base {     public function doSql($version)     {         switch($version)         {              case 1 :                  break;              case 2 :                  break;         }     } }  class Oracle extends Base {     public function doSql($version)     {         switch($version)         {              case 1 :                  break;              case 2 :                  break;         }     } } 

它稍微短一点,但是我现在看不到任何优势-除了它已经传递给构造函数之外,它现在将无法更改(有点不可变),因此它似乎更灵活。但是,不可变的类也是个好主意。
什么时候使用哪种方法?

参考方案

当属性属于一个类时,第一个更好。

当我们知道这一点时说这似乎是愚蠢的事情,但请认真考虑。如果您将版本作为大多数对象方法的参数,则很可能应该是属性。为对象分配一个唯一的属性更有意义,因为在使用该类时可以使用更严格的规则集。

例如。如果类是数据库处理程序,并且版本规定了他们使用的引擎,那么开发人员A可能会通过每个方法传递不同的版本值,突然他们可以为每个函数指定3个不同的引擎,这对我来说很麻烦。

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

最初的问题是这样的:取分钟数->转换为四分之一小时-> 1个四分之一小时为1个单位->输出单位我今天整天都在整理页面,几分钟前我的大脑就停止工作了,我只是不知道如何输出单位数量。我知道在此网站上发布问题会有所帮助。因此,用户输入的分钟数(不是小时和分钟,而是数分钟),站点需要输出单位数量。单位是一个刻钟。分钟总是四舍五入到最近的四分之一小时…

我正在使用mysqli从数据库中获取某些数据。我正在使用的查询已设置为仅从数据库返回一行。有没有一种方法可以在不使用while循环的情况下获取该行的值?我知道一个while循环对于返回多于一行的行很有用,但是如果不需要while循环,我想避免这种情况,因为不必要的代码是不好的编程。 参考方案 是的-您可以使用:$row = $result->fetch…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 如果只有孩子需要这些数据,将所有内容传递给基类是一件好事? – php程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们