国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

依賴注入 循環(huán)引入報錯,請問這種情況怎么解決?

bxsec


不知道為什么會出現(xiàn)這種情況

1700 2 0
2個回答

Tinywan

去看看php-di是如何使用的

  • bxsec 2022-06-16

    可是官方文檔實(shí)例也沒跑起來,還需要看php-di文檔?

  • bxsec 2022-06-16

    config/container.php 配置:
    $builder = new \DI\ContainerBuilder();
    $builder->addDefinitions(config('dependence', []));
    $builder->useAutowiring(true);
    $builder->useAnnotations(true);
    return $builder->build();

walkor 打賞

發(fā)一個能重現(xiàn)這個問題的精簡demo壓縮包,發(fā)到我郵箱 walkor#workerman.net

  • bxsec 2022-06-16

  • walkor 2022-06-16

    測試了下,目前看確實(shí)不能這樣循環(huán)引用。
    這種情況需要使用 自定義接口注入。
    稍后這邊完善下文檔

  • bxsec 2022-06-16

    好的,謝謝大佬

  • walkor 2022-06-16

    應(yīng)該是可以的,頭部記得要加 use app\service\UserServiceInterface;

  • walkor 2022-06-16

    這邊按照手冊測試沒有問題

  • bxsec 2022-06-17

    晚上我重新建一個項目試下,如果復(fù)現(xiàn)再給您發(fā)送下demo

  • bxsec 2022-06-17

    demo已經(jīng)發(fā)送到walkor#workerman.net郵箱了

  • walkor 2022-06-17

    截圖
    你沒有定義這個接口導(dǎo)致的

  • bxsec 2022-06-17

    發(fā)送的demo中 interface和class都放在Mailer.php中

    <?php
    namespace app\service;

    interface MailerInterface
    {
    public function mail($email, $content);
    }

    class Mailer implements MailerInterface
    {
    private $smtpHost;

    private $smtpPort;
    
    public function __construct($smtp_host, $smtp_port)
    {
        $this->smtpHost = $smtp_host;
        $this->smtpPort = $smtp_port;
    }
    
    public function mail($email, $content)
    {
        // 發(fā)送郵件代碼省略
        echo 'send main';
    }

    }

  • walkor 2022-06-17

    文件要單獨(dú)放,不然不符合psr4規(guī)則,composer加載不到

年代過于久遠(yuǎn),無法發(fā)表回答
??