2016-12-16 50 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以使其正常工作。

相关问题