PHP:扩展类是否需要另一个“使用”来调用命名空间?

时间:2012-08-03 11:33:25

标签: php class inheritance namespaces extend

我想知道在我正在扩展一个已经在其上面使用'use'关键字的类来使用特定命名空间的情况 - 我是否需要在继承类之上添加另一个'use'来使用相同的命名空间?这样的情况:

namespace Core;

use System\Plugin;

class Front extends Application { }

现在在Controller中,没有命名空间直接调用(使用完整路径):

use System\Plugin;

class PageController extends Front { }

或者它可以在没有'use'的情况下工作,并允许我使用System \ Plugin命名空间:

class PageController extends Front { }

1 个答案:

答案 0 :(得分:22)

不,您需要在两个文件中使用“use”语句。 Use是文件级关键字,不受继承的影响。

请参阅scoping rules for importing以及描述我在手册页底部所说的内容的小方框。