viewDirectory; $config = $config ?? config('View'); return new View($config, $viewPath, AppServices::locator(), CI_DEBUG, AppServices::logger()); } /** * The Negotiate class provides the content negotiation features for working the request to determine correct * language, encoding, charset, and more. * * @noRector PHPStan\Reflection\MissingMethodFromReflectionException */ public static function negotiator(?RequestInterface $request = null, bool $getShared = true): Negotiate { if ($getShared) { return static::getSharedInstance('negotiator', $request); } $request = $request ?? static::request(); return new Negotiate($request); } public static function breadcrumb(bool $getShared = true): Breadcrumb { if ($getShared) { return self::getSharedInstance('breadcrumb'); } return new Breadcrumb(); } public static function vite(bool $getShared = true): Vite { if ($getShared) { return self::getSharedInstance('vite'); } return new Vite(); } }