从另一个PHP项目中解析名称空间

时间:2014-07-21 20:13:41

标签: php namespaces

我的服务器上有两个独立的PHP项目 - Project1和Project2。 Project1定义了一些名称空间,例如'共同'。 Project1还有一个名为DbPlace的类,如下所示:

class DbPlace extends \common\DbModel
{
...
}

我想在Project2中使用此类,因此在Project2文件之一中我将其导入为:

require_once "path/to/Project1/src/classes/db/DbPlace.php";

已成功找到类DbPlace.php,但是我收到以下错误:

Fatal error: Class 'common\DbModel' not found in D:\xampp\Project1\src\classes\db\DbPlace.php on line 6

如您所见,它无法找到命名空间类DbModel。有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您需要加载父类

require_once "path/to/Project1/src/classes/common/DbModel.php";
require_once "path/to/Project1/src/classes/db/DbPlace.php";

有关自动加载和摆脱require和include的有趣工具,请参阅spl_autoloadPSR-4