ホームページ  >  に質問  >  本文

解決できない依存関係 (Laravel 8)

「jasny/sso」パッケージを使用すると、次のエラーが発生します:

リーリー

JasnySOServerServer.php 内部:

リーリー

私も試してみました:

リーリー

ここの問題を指摘できる人はいますか?

P粉729198207P粉729198207334日前429

全員に返信(1)返信します

  • P粉458913655

    P粉4589136552023-12-14 00:13:30

    jasny/sso は Laravel パッケージではないため、コンストラクターに基づいてインスタンスを作成する方法に関する特定の指示がなければ、コンテナに登録しないでください。

    次のコードを AppServiceProviderregister() メソッドに追加します。

    リーリー

    そこから、アプリケーションのどこからでも次の操作を行うことができます:

    リーリー

    これにより、バインディングで設定した呼び出し可能オブジェクトと CacheInterface がコンストラクターに自動的に設定されます (単一のインスタンスのみが必要な場合は、バインディングの代わりに $app->singleton() を使用することもできます)。このクラスはスクリプトの実行全体にわたって存在します)。


    通常、コンテナに登録するものはすべて Laravel の依存関係注入の影響を受けるため、コンストラクターで未知の型を使用することはできません。Laravel には callable が何であるかを知る方法がないため、そのようなことが起こります。このエラーは、このような場合に発生します。

    通常、これを制御できる場合は、コンストラクターから呼び出し可能な関数を削除し、クラスでセッターを使用できます。

    リーリー

    返事
    0
  • キャンセル返事