在必须返回true或false的函数上键入提示返回值是不好的做法

ric*_*h97 1 php cakephp type-hinting

快速提问:对于那些不了解CakePHP Model-> count()的人; 总是返回一个整数.

如果我有一个函数来验证表是否为空(返回true或false),那么执行此操作是个坏主意:

public function isEmpty() {
    return (boolean) $this->find('count');
}
Run Code Online (Sandbox Code Playgroud)

与更冗长的相反:

public function isEmpty() {
    if (empty($this->find('count'))) {
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

基本上,以这种方式使用类型提示是否合适?

Mat*_*hen 5

正如博尔特所说,这是一个演员,而不是暗示(一些完全不同的东西).而且,你倒退了.

但:

public function isEmpty() {
    return !$this->find('count');
}
Run Code Online (Sandbox Code Playgroud)

没关系.你不需要一个强制转换,因为!隐式处理它.