laravel包括php(sdk)使用psr-4是找不到的类

时间:2017-04-04 05:28:29

标签: laravel composer-php psr-4

对不起,我想使用这个sdk GitHub

我尝试将文件php包含到laravel控制器中,但不起作用。

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

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

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

我的项目sdk文件:

image link

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';

1 个答案:

答案 0 :(得分:1)

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

namespace ECPaySDK;

use ECPaySDK\ECPay_AllInOne;

格式为NAMESPACE \ CLASSNAME;

要使其工作,请转到文件顶部并定义命名空间。现在似乎没有命名空间。你可以像这样定义

namespace ECPaySDK;

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

<强>更新

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

"files": [
    "ECPaySDK/ECPaymentIntegration.php"
]

然后运行composer dumpautoload