phpQuery.php这个谷歌开发的第三方类并不是按命名空间的规则类,在这个文件里面可以看到有多个类,接口,还有方法!
因此,即使将phpQuery.php改为phpQuery.class.php,在文件里面加入命名空间的namespace Admin\Controller;,用类似的语句import("ORG.Util.phpQuery");或者import("Vendor.phpQuery");或者Vendor('phpQuery');导入都不行,都会出错,提示类似如下:
Iterator,Countable ,ArrayAccess是php的预定义接口,当前类设置了命名空间,提示找不到接口。但是即使引入用use Iterator;等引入这些接口,出错提示没有。用\phpQuery::newDocumentFile($url);再用$tagsList = pq("#tags a");,这个$tagsList是空的,pq这个重要的方法还是用不了。。。
怎么办呢?要引入像这种不规范的类文件。目前我找到的是在命名空间开头,用include引入这个文件,include APP_PATH . 'Admin/Util/phpQuery.php';,即可正常用了。
怎样用import,或者vendor这种TP特有的方式,或者在文件开头用use来引入,我还是不知道怎样弄。走过路过的大虾,如果会的话请留言指点下小弟啊~