Class 使用自定义 class 时未找到

Class not found when using custom class

我正在使用 https://github.com/nuovo/spreadsheet-reader 中的 excel reader,它在应用程序文件夹中。

现在,当我尝试使用以下代码从 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');
   }
}

然后它给了我以下错误。

Class 'App\spreadsheet_reader\SpreadsheetReader' 未找到

有什么解决办法的建议吗?我的意思是如何使用我的自定义 class?

将您的外部文件放入文件夹 app/Libraries (首先,创建 Libraries 文件夹) 然后自动加载包含该文件的文件夹。

例如,在composer.json中的数组或“classmap”中添加此文件夹:

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

然后在命令行中 运行 composer dump-autoload

我认为 SpreadsheetReader 没有在 namespace 中定义。您应该只调用 new \SpreadsheetReader(...) 或添加 use SpreadsheetReader 然后调用它 new SpreadsheetReader()