我和我正在写的应用程序的这个人有同样的问题.问题是静态属性不是在子类中继承的,因此如果我在主类中使用static ::关键字,它也会在我的主类中设置变量.
如果我重新声明我的子类中的静态变量,它可以工作,但我希望有大量的静态属性和子类,并希望避免代码重复.我链接的页面上排名靠前的响应有一些指向"解决方法"的链接,但它似乎有404个.任何人都可以借给我一些帮助,或者让我指出所说的解决方法吗?
我似乎看到很多人在MySQL模式中任意地将大尺寸分配给主/外键字段,例如INT(11)甚至BIGINT(20),正如WordPress使用的那样.
如果我错了,现在纠正我,但即使是INT(4)也会支持(无符号)超过40亿的值.将其更改为INT(5),你允许值高达一万亿,这比你更会需要,除非可能是你存储在NASA /谷歌的地理数据,我敢肯定,我们大多数人都没有.
是否有人使用如此大尺寸的主键?对我来说似乎是浪费......
我和我的同事昨晚在我们的PHP/MySQL应用程序中对单元测试有点分歧.我们中的一半人认为,当对一个类中的函数进行单元测试时,你应该模拟该类及其父类之外的所有内容.我们的另一半人认为你不应该嘲笑任何直接依赖于阶级的东西.
具体的例子是我们的日志记录机制,它通过一个静态的Logging类发生,我们在整个应用程序的不同位置都有一些Logging :: log()调用.我们前半部分说Logging机制应该伪造(模拟),因为它将在Logging单元测试中进行测试.我们下半部分认为我们应该在我们的单元测试中包含原始的Logging类,这样如果我们对日志记录界面进行更改,我们将能够看到它是否因为失败而在应用程序的其他部分中产生问题更新呼叫界面.
所以我猜基本问题是 - 单元测试是用来测试封闭环境中单个单元的功能,还是在更大的环境中显示单个单元更改的后果?如果是其中之一,你如何完成另一个?
php ×2
foreign-keys ×1
inheritance ×1
mysql ×1
phpunit ×1
primary-key ×1
size ×1
static ×1
unit-testing ×1