EC-CUBE4.0.xの環境をEC-CUBE4.1.xにアップデートするときに自前のプラグインが掲題のエラーを吐いていました。
プラグインを有効化する操作を行なった際に出たエラーで、引数で渡したページが存在するかしないかをboolで返す関数だったのですが、データを取得して何かをする処理をPluginManager.phpに書いている場合に起こりうるんじゃないかなと思います。
最初はこんな感じでコードを書いていたのですが・・・
private function urlExists(ContainerInterface $container, string $url) { $pageRepository = $container->get(PageRepository::class); $found = $pageRepository->findOneBy(["url" => $url]); return !is_null($found); }
下記実装に直したところエラーが解消されました。
private function urlExists(ContainerInterface $container, string $url) { $entityManager = $container->get('doctrine')->getManager(); $pageRepository = $entityManager->getRepository(Page::class); $found = $pageRepository->findOneBy(["url" => $url]); return !is_null($found); }
getRepositoryに渡す引数は取得したいRepositoryの対になるEntityクラスです。