如何使用命名空间访问子类的函数?

时间:2015-01-28 14:42:00

标签: php oop

所以,我有几个类,我试图使用PHP的命名空间,并且在访问最低级别的函数时遇到一些麻烦。

以下是它的布局......

Activity -> Post

Activity的命名空间为activityPost的命名空间为post

在我的Post类的顶部,我有这段代码。

namespace Post;
use activity\activity;

这是PHPStorm创建我的类文件然后扩展我的Activity类时创建的代码。

因此,当我尝试在Post中访问我的公共函数时,我尝试了这两种方法......

\activity\post::function();

$post = new \activity\post();
$post->function();

但PHPStorm告诉我这些都不存在。

那么,访问这些较低级别功能的实际方式是什么?

我搜索了很多但显然我没有找到正确的东西,因为我还没有找到关于子类的任何内容。

非常感谢您帮助了解其工作原理。

1 个答案:

答案 0 :(得分:1)

请勿使用\activity,请使用activity

\activity正在使用\(或基础)命名空间。

使用不扩展类,它会创建一个别名。由于您拥有Use activity\activity,因此您可以通过运行activity而不是使用完整名称空间activity::function()来访问\activity\activity::function()类中的函数。

您还可以定义use \activity\activity as test并访问test::function()等功能。

我不确定命名空间与类名相同,但sjagr在注释中说明了这一点。

相关问题