Это называется по умолчанию. Если при вызове не будет установлено значение для $ disk, оно автоматически примет значение по умолчанию, в данном случае 1 *.
Однако, если вы измените метод на этот:
__construct($disks = 1, $somethingElse)
Это не сработает. Если вы укажете значение по умолчанию, то для следующих значений также должно быть значение по умолчанию. Еще интереснее, если вы сделали это:
__construct($somethingElse, $disks = 1)
Это будет работать.