laravel 包含 php(sdk) 使用 psr-4 class 未找到

laravel include php(sdk) use psr-4 is class not found

不好意思,我想用这个sdkGitHub

我尝试将文件 php 包含到 laravel 控制器中,但是没有用。

然后,我将使用 PSR-4 更新 composer.json.. class XXX/XXX/ 未找到..

错误消息Class'App\Http\Controllers\ECPay_AllInOne'未找到

我该怎么办?请帮助我,谢谢~

我的项目sdk文件:

composer.json

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\": "app/",
        "ECPaySDK\": "ECPaySDK/"
    },
    "files": [
        "ECPaySDK/ECPayPaymentIntegration.php"
    ]


},

我的控制器

<?php

namespace App\Http\Controllers;
use ECPaySDK;
use Illuminate\Http\Request;
use Mail;
use App\Http\Requests;
use App\Travel_user;
use App\Travel_user_place;
use App\Place;
use App\Files;
use App\House;
use DB;
use Illuminate\Support\Facades\File;
class BackendController extends Controller

SDK class

<?php
namespace ECPaySDK;
abstract class ECPay_PaymentMethod {
const ALL = 'ALL';

将其添加到 composer.json 后,使用 use 关键字将其导入您的 class。改变这个

namespace ECPaySDK;

use ECPaySDK\ECPay_AllInOne;

格式为NAMESPACE\CLASSNAME;

为此,请在文件顶部定义一个命名空间。现在似乎没有命名空间。你可以这样定义

namespace ECPaySDK;

因此,根据您要使用的 class,在其前面加上 ECPaySDK 命名空间。假设您将 SDK 目录放在应用程序的根目录下。

更新

您有一个包含多个 class 声明的文件。转到自动加载部分中的作曲家文件,就在 "psr-4" 下面创建一个名为 files.

的新条目
"files": [
    "ECPaySDK/ECPaymentIntegration.php"
]

然后运行composer dumpautoload