2016-07-16 13 views
0

を見つけることができません私は私が行うことができます他に何見当がつかないLaravelのroutesファイルは、私は非常に単純なのroutes.phpファイルを持っているコントローラ

ReflectionException in Route.php line 280: 
Class App\Http\Controllers\TracksController does not exist 

:私は、私はこのエラーを取得し、そのルートにアクセスしてみてください。私が持っている:

  • 実行作曲はルートが
  • ファイルにTracksControllerの名前空間および/またはフルパスを強制ストレージ/ *フォルダ
  • 実行PHPの職人クリアコンパイル
  • チェック権限をdumpautoload

しかし、何も動作していないようです。

私は、composerによって生成されたvendor/composer/autoload_classmap.phpファイルをチェックして、そこにTracksControllerファイルが見つかりません。

手がかりはありますか?

+0

(){} '' public'機能指数(){} ' –

+0

は「関数を公開すると、その中にすべてのものを削除して、この' DDを(置くべきであるあなたの関数 '関数インデックスをチェックあなたのページでtestという単語が表示されたら、答えは明らかです。 –

+0

これはおそらくあなたの質問にタイプミスがありますが、コマンドは 'composer dump-autoload'でなければなりません。タイプミスでない場合は、それを試して問題が解決するかどうかを確認してください。 – patricus

答えて

1

patricusがパブリック修飾子について書いたので私の前の答えは間違っていました。問題は$tracks = Track::latest->get();

に変更され、設定する必要があります。

+0

可視性が定義されていない場合、PHPの可視性はpublicにデフォルト設定されます。それを指定する方が良いように見えますが、それをオフにしても、コードの動作は変わりません。 – patricus

+0

私は、私が自分自身で最初に試していない、公開された、保護された、私的であることを述べるのに常に役立ってきました。知識ありがとう、patricus –

+0

問題ありません。私は常に可視性も指定します。 – patricus

0

Linuxの場合、ファイル名とパスでは大文字と小文字が区別されます。デフォルトのcomposer.jsonファイルでオートローディングを変更していないと仮定すると、PHPはファイルがapp\Http\Controllers\TracksController.phpにあることを期待しています。あなたの質問では、それはApp\...にあると指定しました。これは、問題のタイプミスではなかった、あなたが戻っappにごAppディレクトリの名前を変更する必要があるか、あなたはそれがAppディレクトリからのautoloadに知っているように、あなたのcomposer.jsonファイルを更新する必要はなく、appと仮定すると、

ディレクトリ:

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "App/" 
    } 
}, 
関連する問題