@kudashevs если $options это 100% опциональные параметры, то будет что-то типа
где ParameterBag это иммутабельный класс со строгой структурой. И всегда есть автокомплит и ошибиться очень трудно, а не то как с массивом в котором что угодно может быть и надо постоянно проверить существование ключей
PHP:
public function __construct(string $filename, ParameterBag $options)