国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

無(wú)法解決的依賴關(guān)係 (Laravel 8)
P粉729198207
P粉729198207 2023-12-13 10:13:44
0
1
582

使用“jasny/sso”包,我收到以下錯(cuò)誤:

IlluminateContractsContainerBindingResolutionException
Unresolvable dependency resolving [Parameter #0 [ <required> callable $getBrokerInfo ]] in class JasnySSOServerServer

JasnySSOServerServer.php 內(nèi)部:

/**
 * Class constructor.
 *
 * @phpstan-param callable(string):?array{secret:string,domains:string[]} $getBrokerInfo
 * @phpstan-param CacheInterface                                          $cache
 */
public function __construct(callable $getBrokerInfo, CacheInterface $cache)
{
    $this->getBrokerInfo = Closure::fromCallable($getBrokerInfo);
    $this->cache = $cache;

    $this->logger = new NullLogger();
    $this->session = new GlobalSession();
}

我也嘗試過(guò):

php artisan route:clear
composer dump-autoload    
php artisan optimize:clear

有人能指出這裡的問(wèn)題嗎?

P粉729198207
P粉729198207

全部回覆(1)
P粉458913655

由於 jasny/sso 不是 Laravel 套件,因此如果沒(méi)有基於其建構(gòu)函數(shù)的一組關(guān)於如何實(shí)例化它的特定說(shuō)明,則不應(yīng)將其註冊(cè)到容器中。

AppServiceProviderregister()方法中加入以下程式碼:

$this->app->bind(\Jasny\SSO\Server\Server::class, function($app) {
   $myCallable = function() {
       // do what you gotta do..
   };

   return new \Jasny\SSO\Server\Server($myCallable, $app->make(CacheInterface::class));
});

從那裡您可以在應(yīng)用程式中的任何位置執(zhí)行以下操作:

/** @var \Jasny\SSO\Server\Server $jasnyServer **/
$jasnyServer = app()->make(\Jasny\SSO\Server\Server::class);
$jasnyServer->changeTheWorld(true);

它會(huì)自動(dòng)使用我們?cè)诮壎ㄖ性O(shè)定的可呼叫物件和CacheInterface 填充建構(gòu)函式(如果您只需要一個(gè)實(shí)例,也可以使用$app->singleton() 而不是綁定)此類在整個(gè)腳本執(zhí)行過(guò)程中都存在)。


通常,您註冊(cè)到容器中的任何內(nèi)容都會(huì)受到Laravel 的依賴注入的影響,因此您無(wú)法在建構(gòu)函式中使用未知類型,因?yàn)長(zhǎng)aravel 無(wú)法知道callable 是什麼,並且會(huì)發(fā)生這種情況時(shí)會(huì)產(chǎn)生此錯(cuò)誤。

通常,如果您可以控制這一點(diǎn),您可以從建構(gòu)函數(shù)中刪除可呼叫函數(shù),並在類別上使用 setter。

private $callableFunc = null;

public function setCallable(callable $func) : void
{
    $this->callableFunc = $func;
}
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板