0

名前空間を使用するのは初めてで、名前空間を使用するために古いコードを書き直そうとしています。

現在のフォルダー構造は次のようになります。

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

私はそれを完全に間違っていることを知っていますが、いくつかの方向性は大歓迎です!

4

1 に答える 1

0

フォルダー構造と名前空間の間に関係があると仮定しています。そうではありません。名前空間は、クラスを編成し、異なる名前空間で同じクラス名を定義できるようにする方法です。

つまり、クラスと名前空間の間に関係を確立できます。したがって、名前空間をフォルダーにマップするオートローダーを実装する必要があります。

于 2012-10-18T20:11:45.813 に答える