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

Spe*_*ark 20 php inheritance namespaces class extend

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

namespace Core;

use System\Plugin;

class Front extends Application { }
Run Code Online (Sandbox Code Playgroud)

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

use System\Plugin;

class PageController extends Front { }
Run Code Online (Sandbox Code Playgroud)

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

class PageController extends Front { }
Run Code Online (Sandbox Code Playgroud)

Lus*_*ian 23

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

请参阅导入范围规则和描述我在手册页底部所说的内容的小方框.

  • 如果类可以从父类继承`use`语句,那就好了(即DRYer) (8认同)