我想将HTMLpurifier与Zend Framework结合使用。我想用Zend_Loader加载Class及其文件。你会怎么包括它?您是否只使用HTMLPurifier.auto.php或者您知道更好的方法吗?
答案 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';
丑陋,但它正在发挥作用。