【问题标题】:I am trying to install a package in laravel我正在尝试在 laravel 中安装一个包
【发布时间】:2020-02-25 16:04:35
【问题描述】:

我正在尝试在 laravel 中安装一个 php 包。使用作曲家安装后,找不到问题特征类。

第一步:

{
    "require": {
        "avalara/avataxclient": "*"
    }
}

删除此行后require __DIR__ . '/vendor/autoload.php'; 我的控制器脚本是

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AvaController extends Controller
{
 // Include the AvaTaxClient library
use Avalara\AvaTaxClient;

// Create a new client
public function avatax(){
$client = new Avalara\AvaTaxClient('phpTestApp', '1.0', 'localhost', 'sandbox');
$client->withSecurity('', '');

// If I am debugging, I can call 'Ping' to see if I am connected to the server
$p = $client->ping();
echo('<h2>Ping</h2>');
echo('<pre>' . json_encode($p, JSON_PRETTY_PRINT) . '</pre>');
if ($p->authenticated == true) {
    echo '<p>Authenticated!</p>';
}

// Create a simple transaction for $100 using the fluent transaction builder
$tb = new Avalara\TransactionBuilder($client, "DEFAULT", Avalara\DocumentType::C_SALESINVOICE, 'ABC');
$t = $tb->withAddress('SingleLocation', '123 Main Street', null, null, 'Irvine', 'CA', '92615', 'US')
    ->withLine(100.0, 1, null, "P0000000")
    ->create();
echo('<h2>Transaction #1</h2>');
echo('<pre>' . json_encode($t, JSON_PRETTY_PRINT) . '</pre>');

// Now, let's create a more complex transaction!
$tb = new Avalara\TransactionBuilder($client, "DEFAULT", Avalara\DocumentType::C_SALESINVOICE, 'ABC');
$t = $tb->withAddress('ShipFrom', '123 Main Street', null, null, 'Irvine', 'CA', '92615', 'US')
    ->withAddress('ShipTo', '100 Ravine Lane', null, null, 'Bainbridge Island', 'WA', '98110', 'US')
    ->withLine(100.0, 1, null, "P0000000")
    ->withLine(1234.56, 1, null, "P0000000")
    ->withExemptLine(50.0, null, "NT")
    ->withLine(2000.0, 1, null, "P0000000")
    ->withLineAddress(Avalara\TransactionAddressType::C_SHIPFROM, "123 Main Street", null, null, "Irvine", "CA", "92615", "US")
    ->withLineAddress(Avalara\TransactionAddressType::C_SHIPTO, "1500 Broadway", null, null, "New York", "NY", "10019", "US")
    ->withLine(50.0, 1, null, "FR010000")
    ->create();
echo('<h2>Transaction #2</h2>');
echo('<pre>' . json_encode($t, JSON_PRETTY_PRINT) . '</pre>');
}
}

当我尝试运行这个脚本时,我得到了这个错误:

(1/1) FatalErrorException 特征 'App\Http\Controllers\Avalara\AvaTaxClient' 未找到

在 AvaController.php 第 8 行

如果我在这里遗漏了什么,请告诉我。 谢谢

【问题讨论】:

  • use Avalara\AvaTaxClient; 应该不在您的班级范围内吗?我希望这些不是你的真实凭据
  • 确保use Avalara\AvaTaxClient;
  • 两件事; 1. 包含AvaTaxClientuse 语句应该在类定义之外,例如在use IllimunateHttp\Request; 下 2. 在composer.json 中添加要求后,您是否运行composer install
  • 如果您通过在 composer.json 文件中写入包名来安装包,那么您应该先执行composer update,然后执行composer install
  • @@ use Avalara\AvaTaxClient outside class 同样的错误,请帮忙

标签: php laravel composer-php


【解决方案1】:

您需要使用 \ 反斜杠设置每个“Avalara”关键字

$client = new \Avalara\AvaTaxClient('phpTestApp', '1.0', 'localhost', 'sandbox');
$tb = new \Avalara\TransactionBuilder($client, "DEFAULT", \Avalara\DocumentType::C_SALESINVOICE, 'ABC');

->withLineAddress(\Avalara\TransactionAddressType::C_SHIPFROM, "123 Main Street", null, null, "Irvine", "CA", "92615", "US")
->withLineAddress(\Avalara\TransactionAddressType::C_SHIPTO, "1500 Broadway", null, null, "New York", "NY", "10019", "US")

【讨论】:

    猜你喜欢
    • 2020-06-25
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2019-06-05
    • 2023-01-19
    相关资源
    最近更新 更多