为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复在 Laravel 中找不到的类

如何修复在 Laravel 中找不到的类

PHP
慕森卡 2021-10-15 16:39:44
在 Laravel 中,我需要与第 3 方 API 进行通信。Thay 给了我一些 PHP 实现(类),我可以用它来连接他们的 API 并与之通信。但是,当我将它作为 App 文件夹子文件夹中的一个类尝试并将其添加到我的控制器时,我收到一个找不到类的错误。我在 App 文件夹中添加了一个文件夹“Qenner”(API 的提供者)。并在那里复制了他们的课程。在我的控制器中,我正在使用这些类并添加一个代码示例,就像他们将它发送给我一样。控制器代码(API-KEY 替换为实际密钥):namespace App\Http\Controllers;use Illuminate\Http\Request;use App\Qenner\Search;use QennerSearch\ServiceClient;class TestController extends Controller{    public function index() {        $search = new Search('https://search.qenner.com', 'API-KEY', true, 'nl-NL');$response = $search->getCriteria([], ['Country'], []);if (!$response->isError()) {  $criterionSets = $response->getCriterionSets();  $countryCriterionSet = criterionSets[0];  $countries = $countryCriterionSet->getCriteria();  $resultCount = $response->getResultCount();}dd($response);    }Qenner 文件夹中的 Search.php:/** * @file * Contains QennerSearch\Search. */namespace QennerSearch;use QennerSearch\model\messages\CriterionTypesResponse;use QennerSearch\model\messages\CriteriaRequest;use QennerSearch\model\messages\CriteriaResponse;use QennerSearch\model\messages\ErrorResponse;use QennerSearch\model\messages\SearchRequest;use QennerSearch\model\messages\SearchResponse;use QennerSearch\model\messages\PriceRequest;use QennerSearch\model\messages\PriceResponse;use QennerSearch\model\messages\AccommodationInfoRequest;use QennerSearch\model\messages\AccommodationInfoResponse;use QennerSearch\model\messages\AutoCompleteRequest;use QennerSearch\model\messages\AutoCompleteResponse;/** * Class Search, using ServiceClient to communicate, implementing the SearchInterface * * @package QennerSearch */class Search extends ServiceClient implements SearchInterface {.....该文件夹有一个 ServiceClient.php
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

更新

在评论中看到您的文件夹结构后,我相信 ServiceClient.php 和 Search.php 都在文件夹中:app\Qenner,因此在这些文件中:

无论您在哪里使用: namespace QennerSearch;

你应该使用: namespace App\Qenner;

然后在您的控制器中,而不是使用: use QennerSearch\ServiceClient;

用: namespace App\Qenner\ServiceClient

命名空间不像别名,如果有意义,它们需要反映文件本身的位置。

请试一试,让我知道它是否有效。


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信