Неустранимая ошибка при внедрении Apigility v1.4 в Zend Framework 3

Я только что включил 4 новых пакета: zfcampus/zf-apigility, zfcampus/zf-apigility-admin, zfcampus/zf-development-mode и rwoverdijk/assetmanager (не знаю, почему, но достаточно честно) в свой проект ZF3, чтобы начать использовать Apigility.

После этого веб-сайт теперь отображает эту трассировку стека:

<b>Fatal error</b>:  Uncaught exception 'Zend\ServiceManager\Exception\ServiceNotFoundException' with message 'Unable to resolve service &quot;InputFilterManager&quot; to a factory; are you certain you provided it during configuration?' in D:\RZECZY_ADAMA\_XAMPP\xampp-5.6\htdocs\zend3\vendor\zendframework\zend-servicemanager\src\ServiceManager.php:670
Stack trace:
#0 D:\RZECZY_ADAMA\_XAMPP\xampp-5.6\htdocs\zend3\vendor\zendframework\zend-servicemanager\src\ServiceManager.php(746): Zend\ServiceManager\ServiceManager-&gt;getFactory('InputFilterMana...')
#1 D:\RZECZY_ADAMA\_XAMPP\xampp-5.6\htdocs\zend3\vendor\zendframework\zend-servicemanager\src\ServiceManager.php(195): Zend\ServiceManager\ServiceManager-&gt;doCreate('InputFilterMana...')
#2 D:\RZECZY_ADAMA\_XAMPP\xampp-5.6\htdocs\zend3\vendor\zfcampus\zf-content-validation\src\ContentValidationListenerFactory.php(31): Zend\ServiceManager\ServiceManager-&gt;get('InputFilterMana...')
#3 D:\RZECZY_ADAMA\_XAMPP\xampp-5.6\htdocs\zend3\vendor\zendframework\zend-servicemanager\src\ServiceManager.php(747):  in <b>D:\RZECZY_ADAMA\_XAMPP\xampp-5.6\htdocs\zend3\vendor\zendframework\zend-servicemanager\src\ServiceManager.php</b> on line <b>670</b><br />

Любые идеи?

EDIT: Оказалось, что мне нужен другой пакет: Zend\InputFilter, после импорта его через Composer и добавления в modules.config.php он начал показывать мой предыдущий сайт. Я все еще не вижу панель администрирования Apigility после запуска: php public/index.php development enable.

EDIT: [23/11/2016] Мне пришлось добавить AssetManager в development.config.php и dist (да, я знаю, что это можно легко скопировать с помощью сценария, поддерживающего разработку). и он начал работать. Для всех, кто будет бороться так же, как и я, вот список development.config.php модулей:

'modules' => [
    'ZF\Apigility\Admin',
    'ZF\Apigility\Admin\Ui',
    'ZF\Configuration',
    'AssetManager'
],

person divix    schedule 21.11.2016    source источник


Ответы (1)


Это вызвано кешированием конфигурации модуля. Он был сгенерирован в первый раз, чтобы ускорить чтение конфигурации. Итак, после добавления новых модулей всегда удаляйте кеш в data/cache/module-config-cache.application.config.cache.php Он будет создан автоматически, если не будет найден.

person Dolly Aswin    schedule 23.11.2016
comment
Это не должно быть проблемой. У меня есть следующее: 'module_listener_options' => [ 'config_glob_paths' => [realpath(__DIR__) . '/autoload/{,*.}{global,local}-development.php'], 'config_cache_enabled' => false, 'module_map_cache_enabled' => false, ], и я нахожусь в режиме разработки. Я даже удалил кеш, и он не был восстановлен, так что это не проблема с кешем. - person divix; 23.11.2016