在引导程序中设置静态方法的默认值
|
本段是《 Zend Framework In Action》一书的一部分。
SearchIndexer::setIndexDirectory(ROOT_DIR . \'/var/search_index\');
Places_Db_Table_Row_Observable::attachObserver(\'SearchIndexer\');
如您所见,这只是设置目录以存储搜索索引文件的一种情况
并将该类附加到Places_Db_Table_Row_Observable中的观察者列表
使用类的名称。
现在我有问题了!我将此代码放在runapp方法的引导文件中,但无法识别在引导中设置的目录!
它告诉我这个错误
An error occurred exception \'Zend_Search_Exception\' with message \'No index directory specified\' in E:\\xampp\\php\\PEAR\\Zend\\Search\\Lucene.php:497
================================================== =====
我的问题的其他类型:
我在引导文件(runApp方法)中有以下代码:
SearchIndexer::setIndexDirectory(ROOT_DIR.\'/var/search_index\');
Places_Db_Table_Row_Observable::attachObserver(\'SearchIndexer\');
我在SearchIndexer类中设置了搜索目录路径,但是有一个问题!
当我在控制器操作中使用以下代码时,它无法识别我在引导程序中设置的目录!
控制器代码:
$index = Places_Search_Lucene::open(SearchIndexer::getIndexDirectory());
这是seachIndexer代码:
public static function setIndexDirectory($directory){
if(!is_dir($directory)) {
throw new Exception(\'Directory for SearchIndexer is invalid (\'. $directory .\')\');
}
self::$_indexDirectory = $directory;
}
public static function getIndexDirectory(){
return self::$_indexDirectory;
}
没有找到相关结果
已邀请:
1 个回复
抚驰
函数不会返回路径,因此
将失败。
可能无法设置路径。做一些调试。 也许您在zend autoloader加载它之前在引导程序中使用了该类。您在哪里执行此操作? 尝试在使用前手动加载该类:
有关zend loader的文档:http://framework.zend.com/manual/en/zend.loader.load.html