2016-12-16 51 views
2

我嘗試使用自動加載和命名空間時出現此錯誤。我所有的命名空間的類是在應用程序/庫/未找到php命名空間類錯誤

16-Dec-2016 04:30:50 Europe/Berlin] PHP Fatal error:

Class 'App\libs\App' not found in /Users/mysite/app/page1.php on line 26

這裏是我的代碼:

require '../public/vendor/autoload.php'; 
use App\libs\App; 
use App\libs\Auth; 
    class Controller 
    { 
     public $app; 
    public function __construct() 
    { 
     @set_exception_handler([$this, 'exceptionHandler']); 
     $this->app  = new App(); 
    } 

    } 
+0

我想這是因爲路徑名和類名都是應用程序,這可能是問題.. –

回答

1

自動加載通常包括僅在供應商文件夾中的文件。它不加載任何其他文件,如果你不指示。您可能正在使用作曲家。如果是這樣,您可以在composer.json文件中添加文件夾以包含來自App \ libs等其他文件夾的類文件。一個composer.json文件的例子是:

{ 
    "require": { 
     "twig/twig": "~1.0" 
    }, 
    "autoload": { 
     "psr-4": { 
      "App\\": "App/" 
     } 
    } 
} 

在上面的例子中,它會自動加載App文件夾下的任何文件。 最後,您需要運行:composer dump-autoload以使其正常工作。

相關問題