如果"file_exists"被设计为返回路径而不是TRUE,那会不会错?

Ema*_*sev 0 php language-design

file_exists函数返回TRUE成功,但我认为这将是更为有用的,如果而不只是TRUE,它返回传递的价值$filename.我认为错了吗?

如果功能是这样设计的,我们可以使用:

$file = file_exists("dir/file.ext");

if($file)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

......而不是更复杂的:

$file = "dir/file.ext";

$success = file_exists("dir/file.ext");

if($success)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 5

我不明白为什么那会有所改善.考虑一下:

  1. 在实践中,您将把file_exists调用放在条件中,因此不会有额外的$success变量
  2. 该名称file_exists使代码的读者易于返回该函数将返回是/否答案(布尔值)

总而言之,我认为除了返回值的类型之外什么都不做改变是个坏主意.