【发布时间】:2010-04-06 01:12:32
【问题描述】:
我在当前项目中使用 HTMLPurifier,但我不确定处理多个配置的最有效方法。在大多数情况下,唯一的主要变化是允许的标签。
目前,我在每个使用 HTMLPurifier 的类中都有一个私有方法,当需要配置时调用该方法并从默认值创建一个。我对此并不满意,好像 2 个类使用相同的配置,这是重复代码,如果一个类需要 2 个配置怎么办?只是感觉很乱。
它的一个好处是它很懒惰,因为它在需要之前不会创建任何东西。可以使用各种类,而不必净化任何东西。所以我不想创建一堆甚至可能不会被使用的配置对象。
我最近发现你可以创建一个新的 HTMLPurifier 实例并直接设置配置选项,如下所示:
$purifier = new HTMLPurifier();
$purifier->config->set('HTML.Allowed', '');
我不确定这是否是不好的形式,如果不是,我也不确定使用它的好方法。
我最近的想法是创建一个配置处理程序类,它只返回一个 HTMLPurifier 配置以用于后续的 purify 调用。在某些时候,它可能会被扩展以允许设置配置,但从一开始我就认为它们只是被硬编码并通过开关运行方法参数来获取请求的配置。也许我可以将存储的净化器实例作为参数发送,并让方法直接在其上设置配置,如上所示?
这对我来说似乎是我想到的几种方法中最好的,但我不确定这样的任务是否需要我创建一个类来处理它,如果是这样,我是否以最好的方式处理它.
我不太熟悉 HTMLPurifier 的内部工作原理,所以我不确定是否有更好的机制来处理多个配置。
感谢任何人提供的任何见解。
【问题讨论】:
标签: php configuration htmlpurifier