2016-05-13 62 views
0

我只是在學習如何使用作曲家爲我自己的類。 所以我這個ditectory結構PHP - 使用作曲家自動加載器擴展類導致redeclare錯誤

我使用的PHP版本,30年5月5日和作曲家1.1.0

  • 全文
    • test.php的
    • composer.json
    • vendor/
      • autoload .PHP
      • jarouche/
        • jarouche.php
        • jarouche2.php

所以,我有

test.php 
    <?php 
     require_once('vendor/autoload.php'); 
     use jarouche\jarouche2; 

     $teste = new jarouche2(); 
     $teste->teste(); 
    ?> 

jarouche.php 

    <?php 

     namespace jarouche; 

     class jarouche{ 

      public function teste(){ 
       echo 'jarouche'; 
      } 

     } 
    ?> 

jarouche2.php 

    <?php 

     namespace jarouche; 

     class jarouche2 extends jarouche{ 

      public function teste(){ 
       echo 'jarouche2'; 
      } 

     } 
    ?> 

composer.json 

    { 
    ... 

      "autoload": { 
         ... 
         "psr-4": {"jarouche\\": "vendor/jarouche" 
      } 
    } 

But, when I run test.php I got this error "Fatal error: Cannot redeclare class jarouche\jarouche2 in C:\xampp\htdocs\Pdf\vendor\jarouche\jarouche2.php on line 6" 

我試圖把一個if (!class_exists('MyClass')) in jarouche2.php,嘗試更新作曲家......毫無效果。

我的錯誤是什麼?

+1

'Pdf \ vendor \ jarouche \ jarouche2.php'不是'app \ vendor \ jarouche \ jarouche2.php' – Ultimater

+0

感謝您的建議。我已修復! –

回答

0

出於某種原因,我做了一個作曲家自我更新,現在它的工作!