[英]How do I access a subclass's functions using namespaces?
因此,我有一些類試圖與PHP的命名空間一起使用,並且在訪問最低級別的類中的函數時遇到了一些麻煩。
布置方式如下...
Activity -> Post
Activity
有一個命名空間activity
,並Post
有一個命名空間post
在我的Post類的頂部,我有以下代碼。
namespace Post;
use activity\activity;
那是我創建類文件然后擴展Activity類時PHPStorm創建的代碼。
因此,當我嘗試訪問Post內部的公共函數時,我已經嘗試了這兩種方法...
\activity\post::function();
和
$post = new \activity\post();
$post->function();
但是PHPStorm告訴我這兩個都不存在。
那么,訪問這些較低級別功能的實際方法是什么?
我已經在Google上搜索了很多,但是顯然我沒有在尋找正確的東西,因為我還沒有找到有關子類的任何信息。
非常感謝您對理解其工作原理的幫助。
不要使用\\activity
,而要使用activity
。
\\activity
正在使用\\
(或基本)名稱空間。
使用不擴展類,它創建別名。 由於您具有Use activity\\activity
,因此可以通過運行activity::function()
而不是使用完整的名稱空間\\activity\\activity::function()
來訪問activity
類中的\\activity\\activity::function()
。
您還可以將use \\activity\\activity as test
定義use \\activity\\activity as test
和訪問函數,例如test::function()
。
我不確定名稱空間是否與類同名,但是sjagr在注釋中解決了這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.