Ошибка в Symfont 2.8 - невозможно переопределить класс Symfony\Component\DependencyInjection\ContainerAwareInterface
Можете ли вы помочь мне в этом вопросе... Я использую Symfont 2.8 с EasyAdminBundle. Я использовал это руководство для установки - symfony2-admin-panel-in-30-секунд.
Панель администратора работает нормально, но когда я пытаюсь создать свой класс (не администратор), я получаю сообщение об ошибке: Невозможно повторно объявить класс Symfony\Component\DependencyInjection\ContainerAwareInterface в /var/www/html/Legendcorp/app/cache/dev/classes.php на линии 6568
Например: я создал класс в /src/AppBundle/Controller/APIController.php
namespace AppBundle\Controller;
use JavierEguiluz\Bundle\EasyAdminBundle\Controller\AdminController as BaseAdminController;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class FormController extends BaseAdminController{
/**
* @Route("/form/save", name="save")
*/
public function formAction(Request $request){
}
}
но когда я пытаюсь подать заявку на этот класс, я получаю сообщение об ошибке. -
Fatal error: Cannot redeclare class Symfony\Component\DependencyInjection\ContainerAwareInterface in /var/www/html/Legendcorp/app/cache/dev/classes.php on line 6568
Если я очищу кеш (rm -rf app / cache / *), он будет работать, но только до тех пор, пока вы не обратитесь в админ-панель.
Это мой файл composer.json:
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": { "": "src/" },
"files": [ "app/AppKernel.php" ]
},
"require": {
"php": ">=5.3.9",
"symfony/symfony": "2.8.*",
"doctrine/orm": "^2.4.8",
"doctrine/doctrine-bundle": "~1.4",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "1.3@dev",
"vich/uploader-bundle": "^0.14.0"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"symfony/phpunit-bridge": "~2.7"
},
"scripts": {
"post-install-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-update-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
]
},
"config": {
"bin-dir": "bin"
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.8-dev"
}
}
}
Не могли бы вы мне помочь пожалуйста?
1 ответ
Сообщение в блоге, за которым вы следили, очень приятно, но для таких вещей, как установка пакета, я всегда рекомендую следовать официальной документации. В этом случае: Глава 1. Установка из документации EasyAdmin.
Учитывая ContainerAwareInterface
ошибка, я бы сказал, что это не имеет ничего общего с комплектом. Мы нигде не используем этот интерфейс, и мы не используем ContainerAware
класс тоже. Если удалить пакет, работает ли приложение Symfony без ошибок?