所以,我有几个类,我试图使用PHP的命名空间,并且在访问最低级别的函数时遇到一些麻烦。
以下是它的布局......
Activity -> Post
Activity
的命名空间为activity
,Post
的命名空间为post
在我的Post类的顶部,我有这段代码。
namespace Post;
use activity\activity;
这是PHPStorm创建我的类文件然后扩展我的Activity类时创建的代码。
因此,当我尝试在Post中访问我的公共函数时,我尝试了这两种方法......
\activity\post::function();
和
$post = new \activity\post();
$post->function();
但PHPStorm告诉我这些都不存在。
那么,访问这些较低级别功能的实际方式是什么?
我搜索了很多但显然我没有找到正确的东西,因为我还没有找到关于子类的任何内容。
非常感谢您帮助了解其工作原理。
答案 0 :(得分:1)
请勿使用\activity
,请使用activity
。
\activity
正在使用\
(或基础)命名空间。
使用不扩展类,它会创建一个别名。由于您拥有Use activity\activity
,因此您可以通过运行activity
而不是使用完整名称空间activity::function()
来访问\activity\activity::function()
类中的函数。
您还可以定义use \activity\activity as test
并访问test::function()
等功能。
我不确定命名空间与类名相同,但sjagr在注释中说明了这一点。