Laravel使用供应商目录php类

时间:2019-02-20 03:02:28

标签: php laravel

最近,我学习了Laravel,并尝试实现BingAds SDK来将一些报告获取到我的数据库,但是失败了。

我在app / http / Controllers / BingAdController.php中有一个名为BingAdController.php的控制器

BingAds SDK是通过composer安装的,它们位于vendor / microsoft / bingads / samples / V12 / ReportRequests.php

BingAdController.php

namespace App\Http\Controllers;

use SoapVar;
use SoapFault;
use Exception;
use SoapClient;

use Illuminate\Http\Request;
use App\BingAd;
use App\Http\Controllers\Controller;
use Microsoft\BingAds\V12\Reporting\ReportRequestStatusType;
use Microsoft\BingAds\Auth\ServiceClient;
use Microsoft\BingAds\Auth\ServiceClientType;
use Microsoft\BingAds\Samples\V12\AuthHelper;
use Microsoft\BingAds\Samples\V12\ReportRequestLibrary;

include("/Applications/MAMP/htdocs/laravel/vendor/microsoft/bingads/samples/V12/ReportRequests.php");

class BingAdController extends Controller {
    public function bingadsReporting(){

ReportRequests.php

namespace Microsoft\BingAds\Samples\V12;

// require_once __DIR__ . "/vendor/autoload.php";
require_once "/Applications/MAMP/htdocs/laravel/vendor/autoload.php";

include __DIR__ . "/AuthHelper.php";
include __DIR__ . "/ReportRequestLibrary.php";

use SoapVar;
use SoapFault;
use Exception;

use Microsoft\BingAds\V12\Reporting\ReportRequestStatusType;
use Microsoft\BingAds\Auth\ServiceClient;
use Microsoft\BingAds\Auth\ServiceClientType;
use Microsoft\BingAds\Samples\V12\AuthHelper;
use Microsoft\BingAds\Samples\V12\ReportRequestLibrary;

$GLOBALS['AuthorizationData'] = null;
$GLOBALS['Proxy'] = null;
$GLOBALS['CampaignManagementProxy'] = null; 

class ReportRequests {

    public $DownloadPath, $length, $folder;

Laravel继续说找不到课程... 我在这个问题上被困了2天...请帮助

2 个答案:

答案 0 :(得分:1)

您不应该在代码中手动调用includerequire_once-Laravel开箱即用使用Composer的自动加载器,因此您应该能够引用所需的类,它将剩下的。

首先,请确保您已通过Composer安装了Bing's SDK-即已将其添加到composer.json中,并且已通过命令行工具进行了安装。如果您只是自己下载并将其放在vendor目录中,它将无法正常工作。

然后,您应该可以呼叫new Microsoft\BindAds\Auth\ServiceClient或所需的任何课程-Composer将知道在哪里以及如何为您找到该课程。

如果您是通过Composer安装的,但仍然遇到问题,则需要提供遇到问题的确切代码,以及所看到的完整错误和堆栈跟踪信息,以便我们协助进行调试。

答案 1 :(得分:0)

最后我找到了解决方法。

将“ vendor / microsoft / bingads”添加到vendor / composer.json-> classmap

不知道为什么BingAds即使通过composer安装也不能自动更新composer.json。