Replaced more ussages of AnnotatedFactory by ConfigAbstractFactory

This commit is contained in:
Alejandro Celaya 2017-07-22 13:41:41 +02:00
parent 8256f0c757
commit 54cb40f6ed
8 changed files with 53 additions and 52 deletions

View file

@ -1,9 +1,11 @@
#!/usr/bin/env php #!/usr/bin/env php
<?php <?php
use Shlinkio\Shlink\CLI\Factory\InstallApplicationFactory; use Shlinkio\Shlink\CLI\Factory\InstallApplicationFactory;
use Shlinkio\Shlink\CLI\Install\Plugin\DatabaseConfigCustomizerPlugin;
use Symfony\Component\Console\Application; use Symfony\Component\Console\Application;
use Symfony\Component\Console\Helper\QuestionHelper; use Symfony\Component\Console\Helper\QuestionHelper;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
use Zend\ServiceManager\Factory\InvokableFactory; use Zend\ServiceManager\Factory\InvokableFactory;
use Zend\ServiceManager\ServiceManager; use Zend\ServiceManager\ServiceManager;
@ -11,9 +13,18 @@ chdir(dirname(__DIR__));
require __DIR__ . '/../vendor/autoload.php'; require __DIR__ . '/../vendor/autoload.php';
$container = new ServiceManager(['factories' => [ $container = new ServiceManager([
Application::class => InstallApplicationFactory::class, 'factories' => [
Filesystem::class => InvokableFactory::class, Application::class => InstallApplicationFactory::class,
QuestionHelper::class => InvokableFactory::class, Filesystem::class => InvokableFactory::class,
]]); QuestionHelper::class => InvokableFactory::class,
],
'services' => [
'config' => [
ConfigAbstractFactory::class => [
DatabaseConfigCustomizerPlugin::class => [QuestionHelper::class, Filesystem::class]
],
],
],
]);
$container->build(Application::class)->run(); $container->build(Application::class)->run();

View file

@ -1,9 +1,11 @@
#!/usr/bin/env php #!/usr/bin/env php
<?php <?php
use Shlinkio\Shlink\CLI\Factory\InstallApplicationFactory; use Shlinkio\Shlink\CLI\Factory\InstallApplicationFactory;
use Shlinkio\Shlink\CLI\Install\Plugin\DatabaseConfigCustomizerPlugin;
use Symfony\Component\Console\Application; use Symfony\Component\Console\Application;
use Symfony\Component\Console\Helper\QuestionHelper; use Symfony\Component\Console\Helper\QuestionHelper;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
use Zend\ServiceManager\Factory\InvokableFactory; use Zend\ServiceManager\Factory\InvokableFactory;
use Zend\ServiceManager\ServiceManager; use Zend\ServiceManager\ServiceManager;
@ -11,9 +13,18 @@ chdir(dirname(__DIR__));
require __DIR__ . '/../vendor/autoload.php'; require __DIR__ . '/../vendor/autoload.php';
$container = new ServiceManager(['factories' => [ $container = new ServiceManager([
Application::class => InstallApplicationFactory::class, 'factories' => [
Filesystem::class => InvokableFactory::class, Application::class => InstallApplicationFactory::class,
QuestionHelper::class => InvokableFactory::class, Filesystem::class => InvokableFactory::class,
]]); QuestionHelper::class => InvokableFactory::class,
],
'services' => [
'config' => [
ConfigAbstractFactory::class => [
DatabaseConfigCustomizerPlugin::class => [QuestionHelper::class, Filesystem::class]
],
],
],
]);
$container->build(Application::class, ['isUpdate' => true])->run(); $container->build(Application::class, ['isUpdate' => true])->run();

View file

@ -1,7 +1,6 @@
<?php <?php
namespace Shlinkio\Shlink\CLI\Factory; namespace Shlinkio\Shlink\CLI\Factory;
use Acelaya\ZsmAnnotatedServices\Factory\V3\AnnotatedFactory;
use Interop\Container\ContainerInterface; use Interop\Container\ContainerInterface;
use Interop\Container\Exception\ContainerException; use Interop\Container\Exception\ContainerException;
use Shlinkio\Shlink\CLI\Command\Install\InstallCommand; use Shlinkio\Shlink\CLI\Command\Install\InstallCommand;
@ -12,6 +11,7 @@ use Symfony\Component\Console\Application;
use Symfony\Component\Console\Exception\LogicException; use Symfony\Component\Console\Exception\LogicException;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
use Zend\Config\Writer\PhpArray; use Zend\Config\Writer\PhpArray;
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
use Zend\ServiceManager\Exception\ServiceNotCreatedException; use Zend\ServiceManager\Exception\ServiceNotCreatedException;
use Zend\ServiceManager\Exception\ServiceNotFoundException; use Zend\ServiceManager\Exception\ServiceNotFoundException;
use Zend\ServiceManager\Factory\FactoryInterface; use Zend\ServiceManager\Factory\FactoryInterface;
@ -40,7 +40,7 @@ class InstallApplicationFactory implements FactoryInterface
new PhpArray(), new PhpArray(),
$container->get(Filesystem::class), $container->get(Filesystem::class),
new ConfigCustomizerPluginManager($container, ['factories' => [ new ConfigCustomizerPluginManager($container, ['factories' => [
Plugin\DatabaseConfigCustomizerPlugin::class => AnnotatedFactory::class, Plugin\DatabaseConfigCustomizerPlugin::class => ConfigAbstractFactory::class,
Plugin\UrlShortenerConfigCustomizerPlugin::class => DefaultConfigCustomizerPluginFactory::class, Plugin\UrlShortenerConfigCustomizerPlugin::class => DefaultConfigCustomizerPluginFactory::class,
Plugin\LanguageConfigCustomizerPlugin::class => DefaultConfigCustomizerPluginFactory::class, Plugin\LanguageConfigCustomizerPlugin::class => DefaultConfigCustomizerPluginFactory::class,
Plugin\ApplicationConfigCustomizerPlugin::class => DefaultConfigCustomizerPluginFactory::class, Plugin\ApplicationConfigCustomizerPlugin::class => DefaultConfigCustomizerPluginFactory::class,

View file

@ -1,45 +1,44 @@
<?php <?php
use Acelaya\ZsmAnnotatedServices\Factory\V3\AnnotatedFactory;
use Doctrine\Common\Cache\Cache; use Doctrine\Common\Cache\Cache;
use Doctrine\ORM\EntityManager; use Doctrine\ORM\EntityManager;
use Monolog\Logger; use Monolog\Logger;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use Shlinkio\Shlink\Common\Factory; use Shlinkio\Shlink\Common\Factory;
use Shlinkio\Shlink\Common\Image; use Shlinkio\Shlink\Common\Image;
use Shlinkio\Shlink\Common\Image\ImageBuilder;
use Shlinkio\Shlink\Common\Middleware\LocaleMiddleware; use Shlinkio\Shlink\Common\Middleware\LocaleMiddleware;
use Shlinkio\Shlink\Common\Service; use Shlinkio\Shlink\Common\Service;
use Shlinkio\Shlink\Common\Twig\Extension\TranslatorExtension; use Shlinkio\Shlink\Common\Twig\Extension\TranslatorExtension;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
use Zend\I18n\Translator\Translator; use Zend\I18n\Translator\Translator;
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
use Zend\ServiceManager\Factory\InvokableFactory; use Zend\ServiceManager\Factory\InvokableFactory;
return [ return [
'dependencies' => [ 'dependencies' => [
'invokables' => [
Filesystem::class => Filesystem::class,
],
'factories' => [ 'factories' => [
EntityManager::class => Factory\EntityManagerFactory::class, EntityManager::class => Factory\EntityManagerFactory::class,
GuzzleHttp\Client::class => InvokableFactory::class, GuzzleHttp\Client::class => InvokableFactory::class,
Cache::class => Factory\CacheFactory::class, Cache::class => Factory\CacheFactory::class,
'Logger_Shlink' => Factory\LoggerFactory::class, 'Logger_Shlink' => Factory\LoggerFactory::class,
Filesystem::class => InvokableFactory::class,
Translator::class => Factory\TranslatorFactory::class, Translator::class => Factory\TranslatorFactory::class,
TranslatorExtension::class => AnnotatedFactory::class, TranslatorExtension::class => ConfigAbstractFactory::class,
LocaleMiddleware::class => AnnotatedFactory::class, LocaleMiddleware::class => ConfigAbstractFactory::class,
Image\ImageBuilder::class => Image\ImageBuilderFactory::class, Image\ImageBuilder::class => Image\ImageBuilderFactory::class,
Service\IpLocationResolver::class => AnnotatedFactory::class, Service\IpLocationResolver::class => ConfigAbstractFactory::class,
Service\PreviewGenerator::class => AnnotatedFactory::class, Service\PreviewGenerator::class => ConfigAbstractFactory::class,
], ],
'aliases' => [ 'aliases' => [
'em' => EntityManager::class, 'em' => EntityManager::class,
'httpClient' => GuzzleHttp\Client::class, 'httpClient' => GuzzleHttp\Client::class,
'translator' => Translator::class, 'translator' => Translator::class,
'logger' => LoggerInterface::class, 'logger' => LoggerInterface::class,
AnnotatedFactory::CACHE_SERVICE => Cache::class,
Logger::class => 'Logger_Shlink', Logger::class => 'Logger_Shlink',
LoggerInterface::class => 'Logger_Shlink', LoggerInterface::class => 'Logger_Shlink',
], ],
@ -48,4 +47,15 @@ return [
], ],
], ],
ConfigAbstractFactory::class => [
TranslatorExtension::class => ['translator'],
LocaleMiddleware::class => ['translator'],
Service\IpLocationResolver::class => ['httpClient'],
Service\PreviewGenerator::class => [
ImageBuilder::class,
Filesystem::class,
'config.preview_generation.files_location',
],
],
]; ];

View file

@ -1,7 +1,6 @@
<?php <?php
namespace Shlinkio\Shlink\Common\Middleware; namespace Shlinkio\Shlink\Common\Middleware;
use Acelaya\ZsmAnnotatedServices\Annotation\Inject;
use Interop\Http\ServerMiddleware\DelegateInterface; use Interop\Http\ServerMiddleware\DelegateInterface;
use Interop\Http\ServerMiddleware\MiddlewareInterface; use Interop\Http\ServerMiddleware\MiddlewareInterface;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
@ -15,12 +14,6 @@ class LocaleMiddleware implements MiddlewareInterface
*/ */
private $translator; private $translator;
/**
* LocaleMiddleware constructor.
* @param Translator $translator
*
* @Inject({"translator"})
*/
public function __construct(Translator $translator) public function __construct(Translator $translator)
{ {
$this->translator = $translator; $this->translator = $translator;

View file

@ -1,7 +1,6 @@
<?php <?php
namespace Shlinkio\Shlink\Common\Service; namespace Shlinkio\Shlink\Common\Service;
use Acelaya\ZsmAnnotatedServices\Annotation\Inject;
use GuzzleHttp\Client; use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Exception\GuzzleException;
use Shlinkio\Shlink\Common\Exception\WrongIpException; use Shlinkio\Shlink\Common\Exception\WrongIpException;
@ -15,12 +14,6 @@ class IpLocationResolver implements IpLocationResolverInterface
*/ */
private $httpClient; private $httpClient;
/**
* IpLocationResolver constructor.
* @param Client $httpClient
*
* @Inject({"httpClient"})
*/
public function __construct(Client $httpClient) public function __construct(Client $httpClient)
{ {
$this->httpClient = $httpClient; $this->httpClient = $httpClient;

View file

@ -1,10 +1,8 @@
<?php <?php
namespace Shlinkio\Shlink\Common\Service; namespace Shlinkio\Shlink\Common\Service;
use Acelaya\ZsmAnnotatedServices\Annotation\Inject;
use mikehaertl\wkhtmlto\Image; use mikehaertl\wkhtmlto\Image;
use Shlinkio\Shlink\Common\Exception\PreviewGenerationException; use Shlinkio\Shlink\Common\Exception\PreviewGenerationException;
use Shlinkio\Shlink\Common\Image\ImageBuilder;
use Shlinkio\Shlink\Common\Image\ImageBuilderInterface; use Shlinkio\Shlink\Common\Image\ImageBuilderInterface;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
@ -23,14 +21,6 @@ class PreviewGenerator implements PreviewGeneratorInterface
*/ */
private $filesystem; private $filesystem;
/**
* PreviewGenerator constructor.
* @param ImageBuilderInterface $imageBuilder
* @param Filesystem $filesystem
* @param string $location
*
* @Inject({ImageBuilder::class, Filesystem::class, "config.preview_generation.files_location"})
*/
public function __construct(ImageBuilderInterface $imageBuilder, Filesystem $filesystem, $location) public function __construct(ImageBuilderInterface $imageBuilder, Filesystem $filesystem, $location)
{ {
$this->location = $location; $this->location = $location;

View file

@ -1,7 +1,6 @@
<?php <?php
namespace Shlinkio\Shlink\Common\Twig\Extension; namespace Shlinkio\Shlink\Common\Twig\Extension;
use Acelaya\ZsmAnnotatedServices\Annotation\Inject;
use Zend\I18n\Translator\TranslatorInterface; use Zend\I18n\Translator\TranslatorInterface;
class TranslatorExtension extends \Twig_Extension implements TranslatorInterface class TranslatorExtension extends \Twig_Extension implements TranslatorInterface
@ -11,12 +10,6 @@ class TranslatorExtension extends \Twig_Extension implements TranslatorInterface
*/ */
private $translator; private $translator;
/**
* TranslatorExtension constructor.
* @param TranslatorInterface $translator
*
* @Inject({"translator"})
*/
public function __construct(TranslatorInterface $translator) public function __construct(TranslatorInterface $translator)
{ {
$this->translator = $translator; $this->translator = $translator;