クライアントコールを交換したい方が良いでしょう。 、私は新しいサービスプロバイダを作りました。これは、すべてのリクエストに応じて、Laravel Own ServiceProviderクライアントのコールタイプエラー:引数1が渡されました
// Create a new client,
// so i dont have to type this in every Method
$client = new ShopwareClient('url', 'user', 'api_key');
です。
// Later after the Client is called i can make a Request
return $client->getArticleQuery()->findAll();
SwapiServiceProvider
<?php
namespace Chris\Swapi;
use Illuminate\Support\ServiceProvider;
use LeadCommerce\Shopware\SDK\ShopwareClient;
class SwapiServiceProvider extends ServiceProvider
{
/**
* Perform post-registration booting of services.
*
* @return void
*/
public function boot()
{
}
/**
* Register any package services.
*
* @return void
*/
public function register()
{
$this->app->singleton(ShopwareClient::class, function() {
return new ShopwareClient(
env('SHOPWARE_URL'),
env('SHOPWARE_USER'),
env('SHOPWARE_KEY')
);
});
}
}
私のクラス
...
use LeadCommerce\Shopware\SDK\ShopwareClient as Shopware;
class Swapi
{
public function fetchAllArticles(Shopware $shopware)
{
return $shopware->getArticleQuery()->findAll();
}
}
テスト
私はちょうど
012をテストするために私routes.phpの中でそれを呼び出しますuse Chris\Swapi\Swapi;
Route::get('swapi', function() {
// Since this is a package i also made the Facade
return Swapi::fetchAllArticles();
});
しかし、私はこの
return new ShopwareClient(
env('SHOPWARE_URL'),
env('SHOPWARE_USER'),
env('SHOPWARE_KEY')
);
が毎回呼び出されない理由を私は求めています
FatalThrowableError in Swapi.php line 18: Type error: Argument 1 passed to Chris\Swapi\Swapi::fetchAllArticles() must be an instance of LeadCommerce\Shopware\SDK\ShopwareClient, none given, called in /Users/chris/Desktop/code/swapi/app/Http/routes.php on line 7
毎回エラーを取得する私は、誰もがなぜ知っています例えば$shopware->getArticleQuery()->findAll();
メソッドを呼び出しますか?
コンストラクタ**は**呼び出されます - あなたのエラーとは関係ありません。 **メソッド** fetchAllArticles'は、 'Shopware'のインスタンスが引数として渡されることを要求します。あなたはそれをしません:' return Swapi :: fetchAllArticles(); // < - no args passes' – Steve
これは問題なので、引数を渡す必要はありません。実際のパッケージを見ていれば、クライアントは呼び出されていないようです:https://github.com/LeadCommerceDE/shopware-sdk どうすればいいですか? :) – bobbybackblech