【发布时间】:2012-12-02 20:28:50
【问题描述】:
我想将 Doctrine 集成到一个新构建的 PHP5 框架中。我正在使用命名空间。图书馆按地图组织:
应用程序(控制器、块、动作……)
ext(外部库)
sys(内核和路由对象)。
现在我想整合地图分机中的 Doctrine。
在我的调用类中:
namespace app\example;
use ext\Doctrine\DBAL\DriverManager;
$conn = DriverManager::getConnection($connectionParams, $config);
为了完成这项工作,我需要将 Doctrine 中的每个命名空间引用更改为例如:
namespace ext\Doctrine\DBAL;
use ext\Doctrine\Common\EventManager;
在我看来,这是一个非常不雅的解决方案。
问题: 有没有办法不改变 Doctrine 命名空间? 有没有更好的策略来处理外部库?
【问题讨论】:
-
您通常不是通过具体的命名空间定义而是告诉(自动)加载程序在哪里可以找到学说来进行映射。但是,你没有问任何具体的问题,你只是在描述你碰壁的地方。我会质疑你的整体处理,只是说,看起来你做错了(在一个好的意思上,请不要感到被冒犯,只是指出你应该寻找其他方法来做你想做的事做)。
-
我没有被冒犯,不用担心。我知道我错过了一些东西。这确实是我正在寻找的正确选择。我将研究自动加载器策略。现在谢谢。
标签: php namespaces doctrine integration