shlink/config/autoload/services.global.php

54 lines
2 KiB
PHP
Raw Normal View History

2016-04-10 10:38:07 +03:00
<?php
use Acelaya\UrlShortener\Factory\CacheFactory;
2016-04-17 21:27:24 +03:00
use Acelaya\UrlShortener\Factory\EntityManagerFactory;
use Acelaya\UrlShortener\Middleware;
use Acelaya\UrlShortener\Service;
2016-04-17 21:27:24 +03:00
use Acelaya\ZsmAnnotatedServices\Factory\V3\AnnotatedFactory;
use Doctrine\Common\Cache\Cache;
2016-04-17 21:27:24 +03:00
use Doctrine\ORM\EntityManager;
use Zend\Expressive;
2016-04-10 10:38:07 +03:00
use Zend\Expressive\Container;
use Zend\Expressive\Helper;
use Zend\Expressive\Router;
use Zend\Expressive\Template;
2016-04-17 21:27:24 +03:00
use Zend\Expressive\Twig;
use Zend\ServiceManager\Factory\InvokableFactory;
2016-04-10 10:38:07 +03:00
return [
'services' => [
'factories' => [
Expressive\Application::class => Container\ApplicationFactory::class,
2016-04-10 10:38:07 +03:00
// Url helpers
2016-04-10 10:38:07 +03:00
Helper\UrlHelper::class => Helper\UrlHelperFactory::class,
Helper\ServerUrlMiddleware::class => Helper\ServerUrlMiddlewareFactory::class,
Helper\UrlHelperMiddleware::class => Helper\UrlHelperMiddlewareFactory::class,
2016-04-17 21:27:24 +03:00
Helper\ServerUrlHelper::class => InvokableFactory::class,
Router\FastRouteRouter::class => InvokableFactory::class,
2016-04-10 10:38:07 +03:00
// View
'Zend\Expressive\FinalHandler' => Container\TemplatedErrorHandlerFactory::class,
2016-04-17 21:27:24 +03:00
Template\TemplateRendererInterface::class => Twig\TwigRendererFactory::class,
// Services
EntityManager::class => EntityManagerFactory::class,
GuzzleHttp\Client::class => InvokableFactory::class,
Service\UrlShortener::class => AnnotatedFactory::class,
Service\VisitsTracker::class => AnnotatedFactory::class,
Service\ShortUrlService::class => AnnotatedFactory::class,
Cache::class => CacheFactory::class,
// Middleware
Middleware\Routable\RedirectMiddleware::class => AnnotatedFactory::class,
2016-04-10 10:38:07 +03:00
],
2016-04-17 21:27:24 +03:00
'aliases' => [
'em' => EntityManager::class,
'httpClient' => GuzzleHttp\Client::class,
Router\RouterInterface::class => Router\FastRouteRouter::class,
AnnotatedFactory::CACHE_SERVICE => Cache::class,
],
2016-04-10 10:38:07 +03:00
],
];