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

Zend\Navigation does not work with Zend\Expressive #56

Open
@RalfEggert

Description

@RalfEggert

I want to use Zend\Navigation in a Zend\Expressive application. First of all, I installed it:

composer require zendframework/zend-navigation

Composer installed it and added the ConfigProvider to my /config/config.php file:

$configManager = new ConfigManager(
    [
        Zend\I18n\ConfigProvider::class,
        Zend\Form\ConfigProvider::class,
        Zend\InputFilter\ConfigProvider::class,
        Zend\Hydrator\ConfigProvider::class,
        Zend\Session\ConfigProvider::class,
        TravelloViewHelper\ConfigProvider::class,
        new PhpFileProvider($pattern),
    ],
    $cachedConfigFile
);

When I try to use the navigation view helper in a template, I get this error:

A plugin by the name "navigation" was not found in the plugin manager Zend\View\HelperPluginManager

So, I added the Zend\Navigation\View\ViewHelperManagerDelegatorFactory to my configuration:

return [
    'dependencies' => [
        'delegators' => [
            Zend\View\HelperPluginManager::class => [
                Zend\Navigation\View\ViewHelperManagerDelegatorFactory::class,
            ],
        ],
    ],
];

No I get this error:

Unable to resolve service "Application" to a factory; are you certain you provided it during configuration?

After some investigation the problem is located here:

https://github.com/zendframework/zend-navigation/blob/master/src/Service/AbstractNavigationFactory.php#L102

The AbstractNavigationFactory seems to have a hard dependency on the MVC application which makes it impossible to use Zend\Navigation with Zend\Expressive currently.

Are there any plans to solve this? What should be done to break up this hard dependency? I guess it would be quite complicated to run Zend\Navigation both with Zend\Mvc and Zend\Expressive, wouldn't it?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions