#!/usr/bin/env php ')) { fwrite( STDERR, sprintf( 'FuzeWorks Async requires PHP 7.4 or higher.' . PHP_EOL . 'You are using PHP %s (%s).' . PHP_EOL, PHP_VERSION, PHP_BINARY ) ); die(1); } // First load composer $autoloaders = [ __DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php' ]; foreach ($autoloaders as $file) if (file_exists($file)) require_once($file); // If a bootstrap is provided, use that one $arguments = getopt('', ['bootstrap:']); if (!isset($arguments['bootstrap']) || empty($arguments['bootstrap'])) { fwrite(STDERR, "Could not load fuzeworks. No bootstrap provided.\n"); die(1); } // Load the file. If it doesn't exist, fail. $bootstrap = $arguments['bootstrap']; if (!file_exists($bootstrap)) { fwrite(STDERR, "Could not load fuzeworks. Provided bootstrap doesn't exist."); die(1); } // Load the bootstrap /** @var Factory $container */ $container = require($bootstrap); // Check if container is a Factory if (!$container instanceof Factory) { fwrite(STDERR, "Could not load fuzeworks. Provided bootstrap is not a valid bootstrap."); die(1); } /** @var CLIComponent $cli */ $cli = $container->cli; $cli->routeCliRequest();