我知道 PHP 是一种非常容错的语言,我想这就是为什么您可以拥有 mixed variables 的原因。对于像这样的函数调用:
/**
* @param mixed $bar
**/
function foo($bar) {
// Do something with $bar, but check it's type!
}
是否有推荐的方法不使用此类混合变量?
对于我自己的项目,我尽量避免这种混合变量,只是为了减少以后的错误问题和代码清晰度。
在 PHP 7 中,应该可以声明此函数期望的变量类型,不是吗?这是怎么做到的?
最佳答案
这可能会因为“基于意见”而结束,但这仍然是一个好问题。
一个函数应该做一件事。如果您需要这样做:
if it's a string
do this
else if it's a Foo object
do this other thing
然后它做不止一件事,这是“不太理想”的形式。
为什么不直接提供两个命名良好的方法,例如:getThingById(int)
和 getThingByFilters(Filters)
或 getThingLike(string)
等?它还将使您的代码更具可读性和可预测性。
关于php - 没有混合变量的函数调用有什么优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37522756/