php - 没有混合变量的函数调用有什么优点?

标签 php php-7 code-structure code-standards

我知道 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/

相关文章:

php - 检查 Variable 是否存在并且 === true

php - 如何在 Windows 笔记本电脑上本地设置 PHPUnit?

php - strcmp() 和 Spaceship Operator (<=>) 有什么区别

Ruby 语法、嵌套模块或类

javascript - jQuery/JavaScript : Detecting scroll direction - code structure issue

c++ - 类指针与引用

php - 数字字符阻止 MySQL 中成功的 SELECT

php - 为什么我的文件夹在网络上不可见?或上传能力?

php - PHP7 中的 foreach 变化

php - mcrypt 已弃用,有什么替代方案?