1

为了开始使用 Apigility ,我在我的 ZF3 项目中添加了4 个新包:zfcampus/zf-apigilityzfcampus/zf-apigility-admin和(虽然不知道为什么但很公平)。zfcampus/zf-development-moderwoverdijk/assetmanager

之后,网站现在显示此堆栈跟踪:

<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 />

有任何想法吗?

编辑:事实证明,我需要另一个 pacakge: Zend\InputFilter,在通过 Composer 导入它并将其添加到 modules.config.php 之后,它开始显示我以前的网站。运行后我仍然看不到 Apigility 的管理面板:php public/index.php development enable

编辑:[23/11/2016]我不得不将 AssetManager 添加到development.config.php& dist(是的,我知道这可以很容易地用开发启用脚本复制)。它开始起作用了。对于其他像我一样挣扎的人,这里是一个development.config.php模块列表:

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

1 回答 1

0

这是由缓存的模块配置引起的。第一次生成是为了加快读取配置。因此,添加新模块后,请始终删除缓存中的缓存,data/cache/module-config-cache.application.config.cache.php 如果找不到,它将自动创建。

于 2016-11-23T16:58:15.680 回答