找不到quickbooks php sdk类

找不到quickbooks php sdk类,php,sdk,quickbooks,quickbooks-online,Php,Sdk,Quickbooks,Quickbooks Online,致命错误:未捕获错误:在/var/www/html/QuickBooks-V3-PHP-SDK-master/Test2.PHP:24中找不到类“Line” purchaseOrder.php: <?php error_reporting(E_ALL); ini_set('display_errors', 1); require "vendor/autoload.php"; use QuickBooksOnline\API\DataService\DataService; use Qui

致命错误:未捕获错误:在/var/www/html/QuickBooks-V3-PHP-SDK-master/Test2.PHP:24中找不到类“Line”

purchaseOrder.php:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

require "vendor/autoload.php";
use QuickBooksOnline\API\DataService\DataService;
use QuickBooksOnline\API\Facades\Invoice;
use QuickBooksOnline\API\Facades\PurchaseOrder;



$dataService = DataService::Configure(array(
         'auth_mode' => 'oauth1',
         'consumerKey' => " ", 
         'consumerSecret' => " ",
         'accessTokenKey' => " ",
         'accessTokenSecret' => " ",
         'QBORealmID' => "",
         'baseUrl' => "https://quickbooks.api.intuit.com/"
));

for($i = 1; $i<= 3; $i ++){
   $LineObj = Line::create([
       "Id" => $i,
       "LineNum" => $i,
       "Description" => "Pest Control Services",
       "Amount" => 35.0,
       "DetailType" => "SalesItemLineDetail",
       "SalesItemLineDetail" => [
           "ItemRef" => [
               "value" => "1",
               "name" => "Pest Control"
           ],
           "UnitPrice" => 35,
           "Qty" => 1,
           "TaxCodeRef" => [
               "value" => "NON"
           ]
       ]
   ]);
   $lineArray[] = $LineObj;
}
//Add a new Invoice
$theResourceObj = PurchaseOrder::create([
     "Line" =>  $lineArray,
    "CustomerRef"=> [
     "value"=> "1"
     ],
      "BillEmail" => [
            "Address" => "Familiystore@intuit.com"
      ],
      "BillEmailCc" => [
            "Address" => "a@intuit.com"
      ],
      "BillEmailBcc" => [
            "Address" => "v@intuit.com"
      ]
]);
?>

PHP致命错误:未捕获错误:在/var/www/html/QuickBooks-V3-PHP-SDK-master/purchaseOrder.PHP:20中找不到类“ippurchaseorderitemlinedetail”


为什么我会犯这些错误?自动加载不工作吗?我应该直接包含我需要的类文件吗?

关于您的第一个错误,请参见下面的:

致命错误:未捕获错误:在/var/www/html/QuickBooks-V3-PHP-SDK-master/Test2.PHP:24中找不到类“Line”

我没有看到您在任何地方包含
类,从GitHub页面我已经截断了他们的建议:

连接到QuickBooks在线API

当前,以下API实体终结点支持从阵列创建对象:

  • 估计
  • 发票
  • 项目
对于创建/更新上述实体端点,您将导入相应的facade类:

<?php

//require "vendor/autoload.php";
include('src/config.php');

use QuickBooksOnline\API\DataService\DataService;
use QuickBooksOnline\API\Facades\Invoice;
use QuickBooksOnline\API\Facades\PurchaseOrder;

// OBOT Data service
$dataService = DataService::Configure(array(
       'auth_mode' => 'oauth1',
         'consumerKey' => " ",
         'consumerSecret' => " ",
         'accessTokenKey' => " ",
         'accessTokenSecret' => " ",
         'QBORealmID' => " ",
         'baseUrl' => "https://quickbooks.api.intuit.com/" 
));

$linedet = new IPPPurchaseOrderItemLineDetail();
$linedet->CustomerRef  = 86;

$line = new IPPLine();
$line->Id = 0;
$line->Description = 'test purchase order';
$line->Amount = 2.00;
$line->DetailType= 'ItemBasedExpenseLineDetail ';
$line->ItemBasedExpenseLineDetail = $linedet;
$line->BillableStatus = 'Notbillable';
$line->ItemRef = '19';
$line->UnitPrice = '25';
$line->Qty = '1';

$purchaseOrder = new IPPPurchaseOrder();
$purchaseOrder->Line = $line;
$purchaseOrder->VendorRef = 85;
$purchaseOrder->APAccountRef = 1;
$purchaseOrder->TotalAmt = 200.00;
$result = $dataService->Add($purchaseOrder); //add purchase order

?>
因此,您需要更新第一个脚本以包含此外观,其简单程度如下:

use QuickBooksOnline\API\Facades\{Facade_Class_Name};

查看代码的其余部分,似乎有许多类不是通过
use
语句声明的,例如
PurchaseOrder
IPPLine
ippurchaseorder
,您还需要包括这些类

谁知道你什么时候没有给我们看你的自动加载器?你好,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。你可能还想了解。添加了autoloader@Peter FeatherstoneI不是指自动生成的autoloader,我是指你的composer.json映射我不明白你所说的映射是什么意思,但我找到了composer.json。对不起,我是新手@彼得·费瑟斯通
<?php

require "vendor/autoload.php";

use QuickBooksOnline\API\DataService\DataService;
use QuickBooksOnline\API\Facades\Invoice;
use QuickBooksOnline\API\Facades\PurchaseOrder;
use QuickBooksOnline\API\Facades\Line; // <-- You are missing this line
<?php

//require "vendor/autoload.php";
include('src/config.php');

use QuickBooksOnline\API\DataService\DataService;
use QuickBooksOnline\API\Facades\Invoice;
use QuickBooksOnline\API\Facades\PurchaseOrder;
use QuickBooksOnline\API\Data\IPPPurchaseOrderItemLineDetail; // <-- You are missing this line