簡體   English   中英

PHP使用名稱空間擴展

[英]PHP Extends using namespaces

我是使用命名空間的新手,正在嘗試重新編寫一些舊的代碼以使用命名空間。

我當前的文件夾結構如下所示:

library
| - App
| - - Service
| - - - IService.php
| - MyApp
| - - Service
| - - - Test.php

Test.php的類過去看起來像這樣:

class MyApp_Service_Test extends App_Service_IService

但我正在嘗試實現名稱空間並將其調整為:

namespace library\MyApp\Service

class Test extends library\App\Service\IService

但是這樣做我的錯誤日志顯示以下內容:

Fatal: Class 'library\MyApp\Service\library\Api\Service\IService' not found

也就是說,我也在IService中嘗試過執行以下操作:

 namespace library\App\Service

 class IService

並將Test.php更改為

 class Test extends IService

我知道我做錯了,但是一定會感激不盡!

您假設文件夾結構和名稱空間之間存在關系。 那是不對的。 命名空間是一種組織類的方法,可以在不同的命名空間中定義相同的類名。

也就是說,您可以在類和名稱空間之間建立關系。 因此,您需要實現一個自動加載器,該自動加載器將名稱空間映射到文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM