在粘贴的代码中,该函数接受2个参数
我知道第一个参数 - $dir
- 在调用时传递给函数,并使用变量$dir
访问数据。
然而,第二个论点让我感到困惑。
在将$ext
的值设置为".php"
之前,我从未见过以这种方式编写的参数?
如果是,为什么这样做完全包含在参数中(它可以在函数本身内声明?
如果没有那么它在做什么?
public static function register($dir, $ext = '.php')
{
$autoloader = new static($dir, $ext);
spl_autoload_register([$autoloader, 'load']);
return $autoloader;
}
答案 0 :(得分:3)
在PHP中,您可以为函数参数指定默认值。在这种情况下,第二个参数在被忽略时获取.php
的值,如:
classname::register($directory)
答案 1 :(得分:0)
您可以在php中设置参数的默认值:
调用这样的函数:
register('some/dir');
会将.php
的默认值分配给$ext
。
您可以通过传递第二个参数来覆盖此默认值:
register('some/dir', '.txt'); // $ext will now be .txt