for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace AOE\Crawler\CrawlStrategy;
use AOE\Crawler\Configuration\ExtensionConfigurationProvider;
use TYPO3\CMS\Core\Utility\GeneralUtility;
final class CrawlStrategyFactory
{
/**
* @var ExtensionConfigurationProvider
*/
private $configurationProvider;
public function __construct(?ExtensionConfigurationProvider $configurationProvider = null)
$this->configurationProvider = $configurationProvider ?? GeneralUtility::makeInstance(ExtensionConfigurationProvider::class);
}
public function create(): CrawlStrategy
$settings = $this->configurationProvider->getExtensionConfiguration();
$extensionSettings = is_array($settings) ? $settings : [];
is_array($settings)
true
if ($extensionSettings['makeDirectRequests']) {
/** @var CrawlStrategy $instance */
$instance = GeneralUtility::makeInstance(SubProcessExecutionStrategy::class);
} else {
$instance = GeneralUtility::makeInstance(GuzzleExecutionStrategy::class);
return $instance;