В моем проекте Symfny 5 возникла ошибка исключения, из-за которой я не могу понять, откуда это происходит. Итак, я установил пакет "easycorp/easyadmin-bundle": "^2.3"
и получаю сообщение об ошибке:
Служба "ProjectBundle \ Admin \ Controller \ AdminController" зависит от несуществующей службы "EasyCorp \" Bundle \ EasyAdminBundle \ Search \ Autocomplete ".
Я определил свой EasyAdminController, который был изменен из Admin Controller в недавнем обновлении в easy_admin.yaml файл.
Я не уверен насчет содержимого в AdminController. Не можете понять, нужно ли это изменить?
<?php
namespace ProjectBundle\Admin\Controller;
use EasyCorp\Bundle\EasyAdminBundle\Controller\EasyAdminController as BaseAdminController;
use Symfony\Component\HttpFoundation\Response;
use ProjectBundle\Admin\Controller\Traits\GeneralFieldAdjustmentsTrait;
use ProjectBundle\Admin\Controller\Traits\UploadFieldsTrait;
class AdminController extends BaseAdminController
{
use GeneralFieldAdjustmentsTrait;
use UploadFieldsTrait;
var $additionalViewVars = [];
public function prePersistEntity($entity)
{
}
protected function render(string $view, array $parameters = [], Response $response = null): Response
{
if(!empty($this->additionalViewVars)) {
$parameters = array_merge($parameters, $this->additionalViewVars);
}
return parent::render($view, $parameters, $response);
}
/**
* Get current entity
*
* @return mixed
*/
protected function getCurrentEntity()
{
$easyadmin = $this->request->attributes->get('easyadmin');
return $easyadmin['item'];
}
/**
* Check if action is create or update
*
* @return bool
*/
protected function isCreateUpdate()
{
return in_array(
$this->request->query->get('action'),
['new', 'edit']
);
}
}
А в моем EasyAdminController как надо:
namespace EasyCorp\Bundle\EasyAdminBundle\Controller;
use EasyCorp\Bundle\EasyAdminBundle\Configuration\ConfigManager;
use EasyCorp\Bundle\EasyAdminBundle\Form\Filter\FilterRegistry;
use EasyCorp\Bundle\EasyAdminBundle\Search\Autocomplete;
use EasyCorp\Bundle\EasyAdminBundle\Search\Paginator;
use EasyCorp\Bundle\EasyAdminBundle\Search\QueryBuilder;
use EasyCorp\Bundle\EasyAdminBundle\Security\AuthorizationChecker;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
/**
* The controller used to render all the default EasyAdmin actions.
*
* @author Javier Eguiluz <javier.eguiluz@gmail.com>
*/
class EasyAdminController extends AbstractController
{
use AdminControllerTrait;
public static function getSubscribedServices(): array
{
return array_merge(parent::getSubscribedServices(), [
'easyadmin.autocomplete' => Autocomplete::class,
'easyadmin.config.manager' => ConfigManager::class,
'easyadmin.paginator' => Paginator::class,
'easyadmin.query_builder' => QueryBuilder::class,
'easyadmin.property_accessor' => PropertyAccessorInterface::class,
'easyadmin.filter.registry' => FilterRegistry::class,
'easyadmin.security.authorization_checker' => AuthorizationChecker::class,
'event_dispatcher' => EventDispatcherInterface::class,
]);
}