我在app/services
文件夹中创建了服务,并且正在使用它作为控制器。在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/"
}
},
答案 0 :(得分:1)
一切似乎都还好。尝试输入命令
composer dump-autoload
答案 1 :(得分:1)
在给定的行之后有多余的空格或其他内容。
我已经检查了您的代码,并在行'userID' => $request->user_id,
和您的语法错误,意外的“ pincode”(T_CONSTANT_ENCAPSED_STRING)错误消失之后按了退格
答案 2 :(得分:0)
syntax error, unexpected ''pincode'' (T_CONSTANT_ENCAPSED_STRING)
意味着SubscriptionService
类的文件中存在解析问题(多余的字符或缺少的字符或类似的东西)。因此,该文件不会被解析,并且该类不可用。异常错误跟踪很清楚。找到问题并解决。您的问题将得到解决。