Symfony 3.4到4.4 -调用类out routeLoader

cpjpxq1n  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(99)

我正在使用自定义服务加载路由,如下所示:

additional_routes:
   resource: 'routeLoader:load'
   type: service

我的routeLoader看起来像这样:

..

use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use tt\myBundle\Entity\ContentPage;

class routeLoader{

    private $doctrine;
    private $router;

    public function __construct($doctrine, UrlGeneratorInterface $router){
        $this->doctrine = $doctrine;
        $this->router = $router;
    }

    public function load($resource, $type=NULL){
       ..

       $contentPageCollection =  $this->doctrine->getRepository('ttmyBundle:ContentPage')->findAll();

       ..
    }
}

从3.4更新到4.4之后,我现在得到了以下错误消息:
类ContentPage::class不存在于routeLoader:load(正在从“.. EDITED/config/routes.yaml”导入)中。请确保有支持“service”类型的加载器。
我已经尝试了以下方法,但没有成功:

$contentPageCollection =  $this->doctrine->getRepository('ContentPage::class')->findAll();
9rygscc1

9rygscc11#

你可以使用ContentPage::class作为字符串,但需要使用作为关键字:

public function load($resource, $type=NULL){
    ..
    $contentPageCollection =  $this->doctrine->getRepository(ContentPage::class)->findAll();
    ..
}

相关问题