2016-10-09 5 views
1

ZF2からZF3への移行中で、HTMLPurifierをフィルタとして実装しようとしました。 https://github.com/Saeven/Purifier/blob/master/src/Soflomo/Purifier/Module.phpZend Framework 3、フィルタファクトリがコンフィグレーションされたサービスにアクセスできないコンテナを渡しています

フィルタを使用しようと、工場が期待されているとして呼び出されます。

記事は、ここで私は私が必要に行って思ったFilterPluginManager https://zendframework.github.io/zend-filter/writing-filters/

にフィルタを追加する方法について説明します: https://github.com/Saeven/Purifier/blob/master/src/Soflomo/Purifier/Factory/Filter/PurifierFilterFactory.php#L14

しかし、それはしようとしたときに工場が死ぬ - このエラーで> GET( 'HTMLPurifierEngine'):

https://github.com/Saeven/Purifier/blob/master/config/module.config.php#L20

私が何かを明らかに不足している必要があります。3210

Uncaught Zend\ServiceManager\Exception\ServiceNotFoundException: Unable to resolve service "HTMLPurifierEngine" to a factory; are you certain you provided it during configuration? in /Users/Saeven/Documents/Circlical/code/Cloudshare/vendor/zendframework/zend-servicemanager/src/ServiceManager.php:675

面白いことに、このサービスは確かにここでは、定義されていることです。多分それを見て長すぎるかもしれません...

このエラーを回避するためにモジュールを設定する方法は分かりますか?コンテナにサービスが表示されないのはなぜですか?

ありがとうございます!

+0

コードの主要部分をここに入力してください。読むのが簡単です。さらに、外部リンクが壊れる可能性があります... –

+0

私は解決策を見つけました。それは今や意味をなさないSM変更のあいまいな組み合わせでした。後で解決策を投稿します。 – Saeven

+0

解決策を回答として投稿してください。将来的に他の人に役立つかもしれません... –

答えて

0

設定キャッシュが有効になっていますか?このような問題を引き起こす可能性があります。

の設定ファイルで
+0

Hm no config cache ... – Saeven

0

、フィルターが自分のエントリinput_filtersを持っている、とservice_managerに重要ではない:ZF3で

'input_filters' => array(
    'factories' => [ 
     'HTMLPurifierEngine' => HtmlPurifierFactory::class, 
    ], 
), 
+0

これは、フィルタそのものではなく、フィルタが必要とするサービスの名前です。 – Saeven

0

クラスマップが使用されているか、どのようにいくつかの変更がありました。

私はいつも欠けていた明白なこと:あなたはクラスマップを生成しましたか?

は、アプリケーションのルートディレクトリに

$ php composer.phar dump-autoload -o 

を試してみてください。

関連する問題