我想要的效果是,在ThinkPHP中或者其他框架中可以使用xunsearch。我已经实现了面向过程的xunsearch部署,就是在网站根目录下建一个test.php文件。在这个文件中按照xunsearch官网的步骤进行操作。然后我就想部署到框架中。错误就出来了。
尝试一:按照xunsearch官网说的直接require ‘/usr/local/xunsearch/sdk/php/lib/XS.php’;然后直接在控制器中new XS(‘demo’);这个require,我分别在ThinkPHP的入口文件index.php中和在控制器中都尝试了。结果是,引入不报错,但是new不出对象来!
尝试二:按照ThinkPHP3.2手册中说的,将整个SDK放入ThinkPHP框架的Org目录中,再将XS.php重命名为XS.class.php,在XS.class.php中的头部添加namespace /Org/sdk/php/lib;然后在控制器中new /Org/sdk/php/lib/XS('demo');错误提示XS.class.php中部分类不存在,简单说就是XS.class.php有好多类,而且有继承关系,比如XSException继承了Exception,但是在整个XS.class.php文件中都不存在Exception这个类,所以报错了。
小弟没有财富值了!忘哪个仁兄多少给点建议!小弟虚心接受!
试了您的代码,报错如下
这是3.2之前的方式,从3.2之后开始使用命名空间,使用命名空间报错如下
那你看看你XS.class.php里面引用别的类的方式是不是有问题
追问我给你看下我的测试,首先我在与XS.class.php相同的目录下面创建了test.class.php截图如下
然后在控制器中实例化这个对象,截图如下
操作的结果如下
用import方式 就不需要把你要加载的类写出namespace那种形式了 正常导入就行