2016-12-25 14 views
1

https://github.com/nuovo/spreadsheet-readerからExcelリーダーを使用しており、アプリケーションフォルダにあります。カスタムクラスを使用しているときにクラスが見つかりません

次のコードを使用してHomeController.phpからアクセスしようとしました。

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\User; 

use App\spreadsheet_reader\php_excel_reader\excel_reader2; 
use App\spreadsheet_reader\SpreadsheetReader; 

class HomeController extends Controller 
{ 
    public function index() 
    { 
     require_once(base_path().'/app/spreadsheet_reader/php_excel_reader/excel_reader2.php'); 

     $Reader = new \App\spreadsheet_reader\SpreadsheetReader(base_path().'/UnRegisterClient.xlsx'); 
    } 
} 

その後、次のエラーが表示されます。

クラス 'のApp \ spreadsheet_reader \ SpreadsheetReader'

私はこの問題を解決することができますどのようにどれsuggesstionを見つけていませんか?カスタムクラスをどうやって使うことができるのですか?

答えて

2

SpreadsheetReadernamespaceで定義されていないと思います。 new \SpreadsheetReader(...)に電話をかけるか、use SpreadsheetReaderを追加してnew SpreadsheetReader()

+0

ありがとうございます – Jass

2

app/Librariesに外部ファイルを置きます(最初にライブラリフォルダを作成します)次に、そのファイルでフォルダを自動読み込みします。例えば

composer.jsonの配列または「クラスマップ」で、このフォルダを追加します。

"autoload": { 
    "classmap": [ 
     "database", 
     "app\Libraries" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    } 
}, 

その後、あなたのコマンドラインでcomposer dump-autoloadを実行します。

+0

と言ってください。ありがとうございます。あなたにも投票してください。 – Jass

+0

偉大ですが、何とかこの提案は、どこでもrequire_onceを使用する代わりに、Laravelのように見えます。 –

+0

はい。 require_onceをここで使用しないでください。 – Jass

関連する問題