PHP使用名称空间进行扩展

PHP使用名称空间进行扩展,php,namespaces,Php,Namespaces,我不熟悉使用名称空间,正在尝试重新编写一些旧代码来使用名称空间 我当前的文件夹结构如下所示: library | - App | - - Service | - - - IService.php | - MyApp | - - Service | - - - Test.php class MyApp_Service_Test extends App_Service_IService Test.php的类通常如下所示: library | - App | - - Service | - - -

我不熟悉使用名称空间,正在尝试重新编写一些旧代码来使用名称空间

我当前的文件夹结构如下所示:

library
| - App
| - - Service
| - - - IService.php
| - MyApp
| - - Service
| - - - Test.php
class MyApp_Service_Test extends App_Service_IService
Test.php的类通常如下所示:

library
| - App
| - - Service
| - - - IService.php
| - MyApp
| - - Service
| - - - 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

我知道我做得完全错误,但如果有什么方向,我将不胜感激

您假设文件夹结构和名称空间之间存在关系。事实并非如此。名称空间是组织类的一种方式,可以在不同的名称空间中定义相同的类名

也就是说,您可以在类和名称空间之间建立关系。因此,您需要实现一个自动加载程序,将名称空间映射到文件夹中