dongyanzhui0524 2018-07-12 10:48
浏览 112
已采纳

如何在Symfony 4中配置不存在的服务?

I installed this bundle and followed the tutorial step by step:

https://omines.github.io/datatables-bundle/#introduction

My Controller:

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Omines\DataTablesBundle\Adapter\ArrayAdapter;
use Omines\DataTablesBundle\Column\TextColumn;
use Omines\DataTablesBundle\Controller\DataTablesTrait;


class DataTableController extends Controller
{

  /**
  * @Route("/")
  */

  use DataTablesTrait;

  public function showAction(Request $request)
  {
    $table = $this->createDataTable()
    ->add('firstName', TextColumn::class)
    ->add('lastName', TextColumn::class)
    ->createAdapter(ArrayAdapter::class, [
      ['firstName' => 'Donald', 'lastName' => 'Trump'],
      ['firstName' => 'Barack', 'lastName' => 'Obama'],
    ])
    ->handleRequest($request);

    if ($table->isCallback()) {
      return $table->getResponse();
    }

    $this->render('list.html.twig', ['datatable' => $table]);
  }
}

But I get the error message:

You have requested a non-existent service "Omines\DataTablesBundle\DataTableFactory".

I suppose that there is something missing in the services.yaml file. But in the tutorial they do not say something about it. So maybe it is another reason.

  • 写回答

2条回答 默认 最新

  • dqrb4228 2018-07-12 11:49
    关注

    That service appears to be defined in the services.xml, itself pulled in by the bundle configuration, and that happens when the bundle is registered in the AppKernel class.

    class AppKernel extends Kernel
    {
        public function registerBundles()
        {
            $bundles = array(
                new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
                // ....
    
                new \Omines\DataTablesBundle\DataTablesBundle(),
    
                // ... other bundle registration
            );
    
            if (in_array($this->getEnvironment(), array('dev', 'test'))) {
                // ... 
            }
    
            return $bundles;
        }
    
        // ...
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 Qcustomplot绘制实时动态曲线
  • ¥20 运用matlab画x-y图
  • ¥15 用idea运行项目,运行tomcat报错:断言失败
  • ¥15 Sqlserver查询链接服务器数据问题
  • ¥15 Bibtex4Word 引用中文文献
  • ¥20 用opencv c/c++ 转换成灰度图,然后做一下直方图均衡,输出mp4文件
  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池
  • ¥15 服务器打印水晶报表问题