2016-12-16 13 views
2

自動ロードと名前空間を使用しようとするとこのエラーが発生します。すべての私の名前空間のクラスは、ここでアプリ/ libsに/php namespace class not foundエラー

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

パス名とクラス名の両方がAppであり、それが問題である可能性があるためです –

答えて

1

自動ロードは、通常は唯一のベンダーフォルダの下にファイルが含まれています。指示がない場合、他のファイルはロードされません。あなたはおそらく作曲家を使用しています。そうであれば、composer.jsonファイルにフォルダを追加してApp \ libsのような他のフォルダからのクラスファイルをインクルードすることができます。 composer.jsonファイルの例は、

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

です。上記の例では、Appフォルダの下にあるファイルが自動的に読み込まれます。 最後に、作者dump-autoloadを実行してこれを動作させる必要があります。

関連する問題