我尝试使用此库:https://github.com/duzun/hQuery.php
我的项目是这样的:
BetCompare
Application
Teams
file_using_the_library.php
hQueryLib
hquery.php
所以这就是我在我的php文件中使用它的方式:
namespace BetCompare\Application\Teams;
use BetCompare\Application\Teams\hQueryLib\hquery;
hQuery::$cache_path = "/path/to/cache";
这会返回错误Class not found
。在对此事进行了一些研究后,我试过这个:
namespace BetCompare\Application\Teams;
use BetCompare\Application\Teams\hQueryLib\hquery;
include_once 'hQueryLib/hquery.php';
hQuery::$cache_path = "/path/to/cache";
然后错误如下:Cannot declare class hQuery_Context, because the name is already in use
。我不明白,第二个错误使它看起来像use
就够了并加载了这个类。但我无法使用它......我做错了什么?
我也尝试过只使用include_once
,但它不起作用。
答案 0 :(得分:3)
这样(使用名称空间duzun\hQuery
):
<?php
namespace BetCompare\Application\Teams;
use duzun\hQuery;
include_once 'hQueryLib/hquery.php';
hQuery::$cache_path = "/path/to/cache";
或者像这样,没有命名空间:
<?php
namespace BetCompare\Application\Teams;
include_once 'hQueryLib/hquery.php';
\hQuery::$cache_path = "/path/to/cache";
您的代码无法使用,因为如果您编写
use BetCompare\Application\Teams\hQueryLib\hQuery;
您实际上假设hQuery
类具有命名空间定义
namespace BetCompare\Application\Teams\hQueryLib;
它没有(参加第三方课程)。
具有duzun\hQuery
的部分在hQuery.php
文件的最后几行中定义,并在docus中进行了描述。