为什么不能从包含的文件中继承PHP命名空间别名?

时间:2013-06-19 16:45:02

标签: php namespaces

来自http://php.net/manual/en/language.namespaces.importing.php

的说明
  

导入规则是基于每个文件的,这意味着包含的文件不会继承父文件的导入规则。

所以这意味着现在我必须在每个文件中硬编码/重新声明我的命名空间,或者总是使用完全限定的命名空间。

  1. 这是为什么?是因为命名空间的重点是它们应该永远/几乎不会改变吗?
  2. 将别名代码存储在字符串中并使用eval()会被视为一个坏主意吗?似乎是一种肮脏的方式,所以可能是的。
  3. 大多数开发人员是否在引导程序中声明了经常使用的对象(例如数据库)以最大限度地减少重写别名?
  4. 由于

1 个答案:

答案 0 :(得分:0)

  1. 命名空间应该显示特定类的依赖关系,继承的缺点是,类可以使用从未在类中使用的use语句。

  2. 是的,这不是一个坏主意,eval()是脏东西,应该不惜一切代价避免

  3. 如果数据库已经初始化,你不需要在其余文件中使用命名空间,对于任何初始化的类都是一样的 如果数据库已经初始化,那么你的文件对于任何已初始化的类

  4. 都是一样的