3

http://php.net/manual/en/language.namespaces.importing.php上的注释

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

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

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

谢谢

4

1 回答 1

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

  2. 是的,那将是一个坏主意,eval()是一件肮脏的事情,应该不惜一切代价避免

  3. 如果数据库已经初始化,则其余文件中不需要命名空间,如果数据库已经初始化,则与文件的任何初始化类相同,与任何初始化类相同

于 2013-06-19T16:52:37.323 回答