2016-12-25 39 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'); 
    } 
} 

然後它給了我下面的錯誤。

級 '應用程序\ spreadsheet_reader \ SpreadsheetReader' 未找到

任何寶貴意見我該怎麼解決這個問題?我的意思是我如何使用我的自定義類?

回答

2

我認爲SpreadsheetReader未在namespace中定義。您應該撥打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

太棒了,但不知何故,這個建議看起來更像Laravel的方式,而不是在你想要使用它的地方使用'require_once'。 –

+0

是的。我們不應該在這裏使用require_once – Jass