Using the API¶
Besides the usage via the TYPO3 backend and the console commands, there is also a public PHP API. It can be used to execute the cache warmup directly in PHP code.
- class EliasHaeussler\Typo3Warming\Service\CacheWarmupService¶
Service to run cache warmup for sites and pages.
- warmupSites($sites, $request)¶
Run cache warmup for given list of sites.
- Parameters
$sites (
array
) -- List of sites to be warmed up.$request (
EliasHaeussler\Typo3Warming\Request\WarmupRequest
) -- Additional cache warmup request parameters.
- Return type
- warmupPages($pageIds, $request)¶
Run cache warmup for given list of pages.
- Parameters
$pageIds (
array
) -- List of pages to be warmed up.$request (
EliasHaeussler\Typo3Warming\Request\WarmupRequest
) -- Additional cache warmup request parameters.
- Return type
- generateUri($pageId, $languageId = null)¶
Generate uri for given page and optional language.
- Parameters
$pageId (
int
) -- ID of the page for which the uri is to be generated.$languageId (
int
) -- Optional language ID to respect when generating the uri.
- Return type
Psr\Http\Message\UriInterface
- getCrawler()¶
Return crawler being used for cache warmup.
- Return type
Psr\Http\Message\UriInterface
- setCrawler($crawler)¶
Set crawler to use for cache warmup.
- Parameters
$crawler (
string|EliasHaeussler\CacheWarmup\Crawler\CrawlerInterface
) -- The crawler to use for cache warmup.
- Returns
The service object (fluent setter).
Example¶
use EliasHaeussler\Typo3Warming;
use TYPO3\CMS\Core;
$cacheWarmupService = Core\Utility\GeneralUtility::makeInstance(Typo3Warming\Service\CacheWarmupService::class);
$request = new Typo3Warming\Request\WarmupRequest();
// Get all sites
$siteFinder = Core\Utility\GeneralUtility::makeInstance(Core\Site\SiteFinder::class);
$sites = $siteFinder->getAllSites();
// Run cache warmup for all sites
$crawler = $cacheWarmupService->warmupSites($sites, $request);
// Run cache warmup for single pages only
$crawler = $cacheWarmupService->warmupPages([1, 2, 3], $request);
// Evaluate crawling states
$failedUrls = $crawler->getFailedUrls();
$successfulUrls = $crawler->getSuccessfulUrls();