Skip to main content

Utility

Main Bundle comes with few utility classes to give additional options to possible issues.

Background process service​

This service allows to spin a new process in the background.

use Dullahan\Main\Service\BackgroundProcessService;

class BackgroundProcessExample {
public function __construct(
protected BackgroundProcessService $backgroundProcessService,
) {
/** @var \Symfony\Component\Process\Process */
$process = $backgroundProcessService->create('php bin/console app:long:process', ['arg' => 'one', 'argTwo' => 2]);
}
}

Runtime cache service​

When you need to save something to later retrieve it but don't want it to persist between sessions Main Bundles come with Dullahan\Main\Service\RuntimeCachePoolService which is an variation of PSR-6 CacheItemPoolInterface (it is missing saveDeferred and commit, as there is no "later").

Event dispatcher​

Bundle provides EventDispatcherInterface and implementation of it: Dullahan\Main\Symfony\EventDispatcher.

Validation service​

Bundle provides ValidationServiceInterface and implementation of it: Dullahan\Main\Symfony\SymfonyConstraintValidationService.

Database interfaces​

Bundle provides DatabaseActionsInterface and DatabaseConnectionInterface and implementation of it: DoctrineDatabaseActionsImpl.