Почему Laravel возвращает класс не существует ошибки? Однако все выглядит хорошо - PullRequest
3 голосов
/ 30 июня 2019

Я создал сервис в папке app/services и использую его контроллер. В папке служб у меня есть следующее.

namespace App\Services;

use GuzzleHttp\Client;

class SubscriptionService
{
    private $subUsername = 'M****************b';
    private $subPassword = 'V********g';
    private $subSource = 'o*********k';
    private $subMinisite = 'a*******m';

    public function pinVerify($request)
    {
        $DataArray = [];
        $client = new Client();
        $route = 'http://b*******e.com/****/P***y.php';
        $params = [
            'form_params' => [
                'Username' => $this->subUsername,
                'Password' => $this->subPassword,
                'userID' => $request->user_id,
                'pincode' => $request->pin_code,
            ]
        ];

        $result = $client->request('POST', $route, $params);
        $body = $result->getBody();

        $bodyContent = $body->getContents();
        if ($bodyContent === 1) {
            $DataArray['message'] = 'Failed because of system error';
            $DataArray['status'] = 'failed';
        } else {
            $DataArray['message'] = 'Sorry provided pincode is wrong.';
            $DataArray['status'] = 'failed';
        }

        return $DataArray;
    }
}

В контроллере я использую его одним способом, как показано ниже.

namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Services\SubscriptionService as Subscription;

class XyzController extends Controller
{
    public function verifyPinCode(Subscription $Subscription, Request $request){
        $serviceResponse = $Subscription->pinVerify($request);
        return response()->json($serviceResponse, 200); 
    }
}

В результате я получаю ошибку Class does not exist. Я не уверен, где я делаю ошибку. Может ли кто-нибудь помочь мне решить проблему?

Ошибка

ReflectionException
Class App\Services\SubscriptionService does not exist
Previous exceptions
syntax error, unexpected ''pincode'' (T_CONSTANT_ENCAPSED_STRING)

Composer.json

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

enter image description here

Ответы [ 3 ]

1 голос
/ 30 июня 2019

После указанной строки есть дополнительный пробел или что-то еще. Я проверил ваш код и просто нажал клавишу Backspace после этой строки 'userID' => $request->user_id,​ и вашей синтаксической ошибки, неожиданная ошибка '' pincode '' (T_CONSTANT_ENCAPSED_STRING) исчезла

1 голос
/ 30 июня 2019

Кажется, все в порядке.Попробуйте дать команду

composer dump-autoload
0 голосов
/ 30 июня 2019

syntax error, unexpected ''pincode'' (T_CONSTANT_ENCAPSED_STRING) означает, что у вас есть проблема с анализом (лишний символ или отсутствующий символ или что-то подобное) в файле класса SubscriptionService.Следовательно, файл не анализируется, а класс недоступен.Трассировка ошибки исключения ясно об этом.Найдите проблему и решите ее.Ваша проблема будет решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...