这是我现在项目的祸根,也是我过去的项目。对于他们每个人,我使用的选择都远远不够理想。用于检索完整名称空间的优雅和实用解决方案
问题:我的项目有一个实例化任何类的注册表,要求您传递一个完整名称空间,并检索完整的名称空间可能会很痛苦。例如:
$registry->getClassInstance('\application\model\SomeModel');
要获得完整的命名空间,我有几个选项,所有繁琐:
- 类型SomeModel,和PHP将找到的命名空间。但是,它的自动完成将不打印全名空间,而是打印SomeModel()并在文件顶部添加USE全名空间。如果IDE只是打印我输入的完整名称空间,则此问题已重新生成。相反,我必须右键点击自动填充窗口两次才能复制和粘贴完整的namspace,然后自己粘贴并添加一个开始/到它,非常麻烦。
- 对名称空间使用defined()常量。将工作翻倍,性能降低一半,并可能导致本地缺陷
使用函数创建一个类对象以检索所有命名空间。再次,很多麻烦和不切实际的使用
如何保持我的名称空间引用容易到达,并且易于在大型项目中更新?大项目通常如何处理这些问题?
我真的很希望有人能帮助我,因为我搜索了一个LOT如何处理包含和使用,并需要有组织的方式,我甚至无法找到关于此主题的讨论 – Rob 2014-09-28 17:31:51
这太令人沮丧了,为什么没有人有没有谈过这个?每个人都在他们的项目中包含大量的包含(路径)或命名空间,但我从来没有看到如何组织,检索和使它们易于更新的解决方案。什么是最佳做法? – Rob 2014-09-28 17:39:31