我在https://github.com/dereuromark/tools/tree/master/Vendor/Horde查看了源代码。
Horde_Autoloader
没有附加映射器,您使用错误。自动加载器需要添加一个 classPathMapper。目录中有不同的classPathMappers Horde / Autoloader / ClassPathMapper
。
require_once 'Horde/Autoloader.php';
require_once 'Horde/Autoloader/ClassPathMapper.php';
require_once 'Horde/Autoloader/ClassPathMapper/Default.php';
$autoloader = new Horde_Autoloader();
$autoloader->addClassPathMapper(new Horde_Autoloader_ClassPathMapper_Default(__DIR__.'PATH_TO_HORDE_FOLDER'));
$autoloader->registerAutoloader();
// if path is correct autoloader should work
$diff = new Horde_Text_Diff();
还有一个默认的自动加载器,它会自动注册您的 include_path 中的所有路径。这可能有点开销!
// set the current path to your include_path
set_include_path(__DIR__.'PATH_TO_HORDE_FOLDER');
// if you require the default autoloader it will get initialized automatically
require_once 'Horde/Autoloader/Default.php';
// use the lib
$diff = new Horde_Text_Diff();
编辑:
这个对我有用。以下代码在C:\xampp\htdocs\horde\index.php
. 部落库位于子文件夹中lib
。
// this file:
// C:\xampp\htdocs\horde\index.php
// horde folder structure
// C:\xampp\htdocs\horde\lib\Horde\Autoloader
// C:\xampp\htdocs\horde\lib\Horde\Text
require_once __DIR__.'/lib/Horde/Autoloader.php';
require_once __DIR__.'/lib/Horde/Autoloader/ClassPathMapper.php';
require_once __DIR__.'/lib/Horde/Autoloader/ClassPathMapper/Default.php';
$autoloader = new Horde_Autoloader();
$autoloader->addClassPathMapper(new Horde_Autoloader_ClassPathMapper_Default(__DIR__.'/lib'));
$autoloader->registerAutoloader();
$compare = array(
array(
'foo',
'bar',
'foobar'
),
array(
'foo',
'bar',
'foobaz'
),
);
$diff = new Horde_Text_Diff('auto', $compare);
echo '<pre>';
print_r($diff->getDiff());
echo '</pre>';