. */ declare(strict_types = 1); // phpcs:disable Drupal.Commenting.DocComment.ContentAfterOpen /** @var \PHPStan\DependencyInjection\Container $container */ /** @phpstan-var array $bootstrapFiles */ $bootstrapFiles = $container->getParameter('bootstrapFiles'); foreach ($bootstrapFiles as $bootstrapFile) { if (str_ends_with($bootstrapFile, 'vendor/autoload.php')) { $vendorDir = dirname($bootstrapFile); $civiCrmVendorDir = $vendorDir . '/civicrm'; $civiCrmCoreDir = $civiCrmVendorDir . '/civicrm-core'; if (file_exists($civiCrmCoreDir)) { set_include_path(get_include_path() . PATH_SEPARATOR . $civiCrmCoreDir . PATH_SEPARATOR . $civiCrmVendorDir . '/civicrm-packages' ); // $bootstrapFile might not be included, yet. It is required for the // following require_once, though. require_once $bootstrapFile; // Prevent error "Class 'CRM_Core_Exception' not found in file". require_once $civiCrmCoreDir . '/CRM/Core/Exception.php'; break; } } }