Проблемы с Symfony 2 FOSUserBundle

Я работаю в symfony 2 и пытаюсь использовать FOSUserBundle, но не могу решить эту проблему: help plz

[LogicException]                                                             
  Bundle "BlogUserBundle" extends bundle "FOSUserBundle", 
  which is not registered.  




<?php

use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
            new Symfony\Bundle\SecurityBundle\SecurityBundle(),
            new Symfony\Bundle\TwigBundle\TwigBundle(),
            new Symfony\Bundle\MonologBundle\MonologBundle(),
            new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
            new Symfony\Bundle\AsseticBundle\AsseticBundle(),
            new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
            new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
            new AppBundle\AppBundle(),
            new FOS\UserBundle\FOSUserBundle(),
            new Blog\UserBundle\BlogUserBundle(),
        );

        if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
            $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
            $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
        }

        return $bundles;
    }

    public function registerContainerConfiguration(LoaderInterface $loader)
    {
        $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
    }
}

person hsn.salmi    schedule 22.04.2015    source источник
comment
Скорее всего, вы не зарегистрировали свой пакет в AppKernel.php, не могли бы вы проверить его еще раз?   -  person Alexandru Olaru    schedule 22.04.2015
comment
я уже сделал это, это мое ядро   -  person hsn.salmi    schedule 22.04.2015
comment
Не могли бы вы отредактировать свой вопрос, добавив код вашего метода AppKernel :: registerBundles?   -  person Jean    schedule 22.04.2015


Ответы (2)


Кажется, вы забыли добавить new FOS\UserBundle\FOSUserBundle(), метод app / AppKernel.php registerBundles.

person Sergei Gorjunov    schedule 22.04.2015
comment
Я тоже это сделал, новый Blog \ UserBundle \ BlogUserBundle (), потому что мой новый пакет находится в src- ›Blog-› UserBundle - person hsn.salmi; 22.04.2015

Добавьте new FOS\UserBundle\FOSUserBundle(), после строки new AppBundle\AppBundle(), в app / AppKernel.php.

person Ulti    schedule 22.04.2015
comment
Я получил это исключение ClassNotFoundException: попытка загрузить класс FOSUserBundle из пространства имен FOS \ UserBundle в C: \ Program Files (x86) \ EasyPHP-DevServer-14.1VC9 \ data \ localweb \ nomProjet \ app \ AppKernel.php, строка 20. Вам нужно использовать его из другого пространства имен? - person hsn.salmi; 22.04.2015
comment
Комплект есть у ваших продавцов? - person Ulti; 22.04.2015
comment
да, у моего поставщика в этой структуре: vendor- ›friendsofsymfony-› user-bundle - person hsn.salmi; 22.04.2015
comment
Выполните следующие действия, это может помочь вам github.com/FriendsOfSymfony/ FOSUserBundle / blob / master / Resources / - person Ulti; 22.04.2015
comment
Нет. Можете ли вы правильно вставить файл AppKernel.php, обновленный с помощью регистрации FOSUserBundle? - person Ulti; 22.04.2015
comment
Так-то лучше. Есть ли у вас ClassNotFoundException с этим AppKernel? Какой у вас AppBundle \ AppBundle ()? Вы установили FOSUserBundle с помощью композитора? - person Ulti; 22.04.2015
comment
да, я установил, нет у меня это: FileLoaderLoadException: не удается загрузить ресурс @ AppBundle / Controller /. Убедитесь, что AppBundle / Controller / bundle правильно зарегистрирован и загружен в класс ядра приложения. - person hsn.salmi; 22.04.2015
comment
Это означает, что ваш AppBundle не зарегистрирован должным образом. Тебе это кажется нормальным? new AppBundle\AppBundle(), Разве не должно быть new App\Bundle\AppBundle(),? - person Ulti; 22.04.2015
comment
да, это нормально, потому что мой AppBundle находится в: src- ›AppBundle и мой класс -› AppBundle, я просто добавляю в Appkernel.php new \ AppBundle \ AppBundle (), и теперь я получил следующее: ClassNotFoundException: Попытка загрузить класс FOSUserBundle из пространство имен FOS \ UserBundle в C: \ Program Files (x86) \ EasyPHP-DevServer-14.1VC9 \ data \ localweb \ nomProjet \ app \ AppKernel.php строка 20. Нужно ли вам использовать его из другого пространства имен? - person hsn.salmi; 22.04.2015
comment
проблема, я думаю, заключается в этой строке, потому что у поставщика структура такая: friendsofsymfony- ›user-bundle-› команда, контроллер .... но в appkernel.php: я сделал: new FOS \ UserBundle \ FOSUserBundle ()? ??? - person hsn.salmi; 22.04.2015
comment
Смотрите на пространства имен, а не на структуру каталога. github.com/FriendsOfSymfony/FOSUserBundle/blob/ ismaster/ namespace FOS\UserBundle; и имя класса class FOSUserBundle extends Bundle - person Ulti; 22.04.2015
comment
это все та же проблема :( - person hsn.salmi; 22.04.2015
comment
ClassNotFoundException: Попытка загрузить класс FOSUserBundle из пространства имен FOS \ UserBundle в C: \ Program Files (x86) \ EasyPHP-DevServer-14.1VC9 \ data \ localweb \ nomProjet \ app \ AppKernel.php, строка 20. Вам нужно использовать его из другое пространство имен? в этой строке моего Appkernel.php: new FOS \ UserBundle \ FOSUserBundle - person hsn.salmi; 22.04.2015
comment
Вы можете попробовать эти ответы? stackoverflow.com/questions/17946989/ обновить композитор / очистить кеш .. - person Ulti; 22.04.2015
comment
Я решил это, мне пришлось обновить свой composer.phar и внести некоторые изменения, спасибо @Ulti - person hsn.salmi; 22.04.2015