2017-04-04 23 views
0

실례를 찾을 수없는 사용, 나는 laravel 컨트롤러로 파일 PHP를 포함하려고 노력하지만, 작동하지 않는이 SDK GitHublaravel은 PHP (SDK)를 포함 PSR-4 클래스

을 사용하고 싶습니다.

후, 나는 PSR-4 .. 클래스 XXX/XXX/찾을 수 없음 ..

오류 메시지 클래스 '앱 \ 컨트롤러 \ \ ECPay_AllInOne HTTP를'

를 찾을 수 없습니다 사용 composer.json를 업데이트 할 수 있습니다

어떻게하면됩니까? 저를 도와주세요, 감사합니다 ~

내 프로젝트 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 클래스

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

오류 짝을 이해하지 못했다 실행? 명확히하십시오. – linuxartisan

+0

@linuxartisan 죄송합니다. 내 오류 메시지 – Bruce

답변

1

composer.json에 추가 한 후 use 키워드로 클래스에 가져옵니다. 변경이

namespace ECPaySDK; 

형식 네임 스페이스 \ 클래스 이름에서
use ECPaySDK\ECPay_AllInOne; 

으로;

이 작업을하려면 파일의 맨 위에 가서 네임 스페이스를 정의하십시오. 지금은 네임 스페이스가없는 것 같습니다. 이

namespace ECPaySDK; 

그래서 당신이 사용 ECPaySDK 네임 스페이스와 접두사 할 클래스에 따라 같이 정의 할 수 있습니다. 응용 프로그램의 루트에 SDK 디렉토리를 배치한다고 가정합니다.

업데이트는 여러 클래스 선언에 하나의 파일이 있습니다. 자동로드 부분의 작곡가 파일로 이동하여 "psr-4" 바로 아래 files이라는 새 항목을 만듭니다.

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

다음 composer dumpautoload

+0

답장을 보내 주셔서 감사합니다.이 앱을 사용해보십시오. 'App \ Http \ Controllers \ ECPay_AllInOne'도 찾을 수 없습니다 ... 내 질문에 대한 답변입니다. – Bruce

+0

@EddyTheDove 내가 OP라고 생각합니다. 'use ECPaySDK \ ECPayPaymentIntegration' –

+0

내 업데이트를 확인하십시오. 그러나 제 제안을주의 깊게 읽으십시오. 컨트롤러에서'namespace ECPaySDK;'를 제거하고'use ECPaySDK; '로 변경하십시오. – EddyTheDove