使用Zend_Loader包含HTMLpurifier

时间:2009-03-14 22:11:49

标签: php zend-framework htmlpurifier

我想将HTMLpurifier与Zend Framework结合使用。我想用Zend_Loader加载Class及其文件。你会怎么包括它?您是否只使用HTMLPurifier.auto.php或者您知道更好的方法吗?

4 个答案:

答案 0 :(得分:5)

答案 1 :(得分:0)

除非我误解了这个问题(或者是HTMLpurifier)。如果您运行Zend_Loader并将其设置为自动加载。

require_once('Zend/Loader.php');
Zend_Loader::registerAutoload();

或者那种效果。将HTMLpurifier类放在库目录中。我只是不确定它的实际类名。

您可以将类文件放在库目录中并通过它的名称调用它,或者将其放入misc包中。

实施例

// SITE/library/Zend/Auth.php
class Zend_Auth
{
}

// SITE/library/htmlpurifier.php
class htmlpurifier
{
}

// SITE/library/misc/htmlpurifier.php
class Misc_HTMLpurifier
{
}

有意义吗?

答案 2 :(得分:0)

您可以使用Zend_Loader类注册自动加载器类。当你调用不带任何参数的registerAutoLoad()方法时,你实际上是将Zend_Loader本身注册为自动加载器。这样:

Zend_Loader::registerAutoLoad();

//等于:Zend_Loader :: registerAutoLoad('Zend_Loader'),true);

Zend_Loader尝试使用Zend Framework的命名约定加载类,如下所示:

  • 每个类都在单独的文件中定义
  • 每个班级名称都以大写字母开头
  • 在类名中加下划线,表示目录级别。

因此,如果'Zend_Loader'是类的名称,则在路径的'Zend'目录中的'Loader.php'文件中定义它。你可以从文件Zend / Loader.php

加载这个类

如果您的类遵循此命名约定,则可以使用相同的自动加载器自动加载它们。否则,您需要定义自己的自动加载器。编写自动加载器类winch可以扩展Zend_Loader,并定义加载功能,以便它将加载具有其他命名约定的类。然后使用Zend_Loader注册您自己的自动加载器。像这样:

Zend_Loader::registerAutoLoad('myLoader',true);

答案 3 :(得分:0)

我已将HTMLPurifier存档库的内容放在我的库路径中。所以我有这个目录结构:

library/
  HTMLPurifier\
  HTMLPurifier.auto.php
  ...
  HTMLPurifier.safe-includes.php

然后我把它放在我正在使用HTMLPurifier的文件的顶部:

require_once 'HTMLPurifier.safe-includes.php';

丑陋,但它正在发挥作用。