factory->define(...func_get_args()); } /** * @param class-string $class * @return T */ public function factory(string $class) { $arguments = func_get_args(); if (isset($arguments[1]) && is_string($arguments[1])) { return $this->factory->of($arguments[0], $arguments[1])->times($arguments[2] ?? null); } if (isset($arguments[1])) { return $this->factory->of($arguments[0])->times($arguments[1]); } return $this->factory->of($arguments[0]); } public function load(string $path): void { $this->factory->load($path); } }