71 lines
2.0 KiB
PHP
71 lines
2.0 KiB
PHP
<?php
|
|
|
|
/*
|
|
* AVSDev UF Worker (https://avsdev.uk)
|
|
*
|
|
* @link https://git.avsdev.uk/avsdev/sprinkle-worker
|
|
* @license https://git.avsdev.uk/avsdev/sprinkle-worker/blob/master/LICENSE.md (LGPL-3.0 License)
|
|
*/
|
|
|
|
namespace UserFrosting\Sprinkle\Worker\ServicesProvider;
|
|
|
|
use Illuminate\Container\Container;
|
|
use Psr\Container\ContainerInterface;
|
|
use Twig\Extra\Intl\IntlExtension;
|
|
use UserFrosting\Sprinkle\Worker\Worker\Worker;
|
|
use UserFrosting\Sprinkle\Core\ServicesProvider\BaseServicesProvider;
|
|
use UserFrosting\Sprinkle\Worker\Jobs\JobInspector;
|
|
|
|
/**
|
|
* Worker services provider.
|
|
*
|
|
* Registers core services for the Worker sprinkle.
|
|
*
|
|
* @author Craig Williams (https://avsdev.uk)
|
|
*/
|
|
class ServicesProvider
|
|
{
|
|
/**
|
|
* Register Worker's services.
|
|
*
|
|
* @param ContainerInterface $container A DI container implementing ArrayAccess and psr-container.
|
|
*/
|
|
public function register(ContainerInterface $container)
|
|
{
|
|
/*
|
|
* Extend the 'classMapper' service to register sprunje and model classes.
|
|
*
|
|
* @return \UserFrosting\Sprinkle\Core\Util\ClassMapper
|
|
*/
|
|
$container->extend('classMapper', function ($classMapper, $c) {
|
|
$classMapper->setClassMapping('queued_job', 'UserFrosting\Sprinkle\Worker\Database\Models\QueuedJob');
|
|
|
|
return $classMapper;
|
|
});
|
|
|
|
/*
|
|
* Return an instance of the job inspector
|
|
*
|
|
* @return \UserFrosting\Sprinkle\Worker\Jobs\JobInspector
|
|
*/
|
|
$container['jobInspector'] = function ($c) {
|
|
return new JobInspector($c);
|
|
};
|
|
|
|
/*
|
|
* Extends the 'view' service with the HasRole extension for Twig.
|
|
*
|
|
* @return \Slim\Views\Twig
|
|
*/
|
|
$container->extend('view', function ($view, $c) {
|
|
$twig = $view->getEnvironment();
|
|
|
|
if (!$twig->hasExtension('Twig\Extra\Intl\IntlExtension')) {
|
|
$twig->addExtension(new IntlExtension());
|
|
}
|
|
|
|
return $view;
|
|
});
|
|
}
|
|
}
|