Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Class names for ServiceListenerFactory #186

Open
RalfEggert opened this issue Jul 16, 2016 · 2 comments
Open

Class names for ServiceListenerFactory #186

RalfEggert opened this issue Jul 16, 2016 · 2 comments

Comments

@RalfEggert
Copy link
Contributor

I noticed that most services defined in the Zend\Mvc\Service\ServiceListenerFactory still use strings for the services names instead of class names.

https://github.com/zendframework/zend-mvc/blob/develop/src/Service/ServiceListenerFactory.php

It looks a little inconsequent in a factory when all services are requested by class names except the very important ViewHelperManager for example. Is there a chance to get this sorted?

Example:

namespace UserFrontend\Authorization;

use Interop\Container\ContainerInterface;
use UserModel\Permissions\UserAcl;
use Zend\Authentication\AuthenticationService;
use Zend\ServiceManager\Factory\FactoryInterface;
use Zend\View\Helper\Navigation;

class AuthorizationListenerFactory implements FactoryInterface
{
    public function __invoke(
        ContainerInterface $container,
        $requestedName,
        array $options = null
    ) {
        $viewHelperManager = $container->get('ViewHelperManager');

        $authService      = $container->get(AuthenticationService::class);
        $userAcl          = $container->get(UserAcl::class);
        $navigationHelper = $viewHelperManager->get(Navigation::class);

        $authorizationListener = new AuthorizationListener(
            $authService, $userAcl, $navigationHelper
        );

        return $authorizationListener;
    }
}
@froschdesign
Copy link
Member

See at #259

HelperPluginManager::class => ViewHelperManagerFactory::class,

@weierophinney
Copy link
Member

This repository has been closed and moved to laminas/laminas-mvc; a new issue has been opened at laminas/laminas-mvc#23.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants