Пакеты AppKernel не регистрируются - PullRequest
0 голосов
/ 07 мая 2018

- это мой класс appKernel при регистрации пакетов, которые он поет для генерации классов

new FOS\RestBundle\FOSRestBundle(),
new JMS\SerializerBundle\JMSSerializerBundle(),
new Nelmio\CorsBundle\NelmioCorsBundle(),

но я использовал следующие команды для генерации их из композитора

composer require friendsofsymfony/rest-bundle
composer require jms/serializer-bundle
composer require nelmio/cors-bundle



class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            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 Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
            new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
            new AppBundle\AppBundle(),
            new FOS\RestBundle\FOSRestBundle(),
            new JMS\SerializerBundle\JMSSerializerBundle(),
            new Nelmio\CorsBundle\NelmioCorsBundle(),
        ];

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

        return $bundles;
    }

во время работы моего php-кода он дает исключения, потому что данные пакеты не зарегистрированы

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Там также будет некоторая конфигурация для них всех в файле конфигурации. Часто в app/config/config.yml. Даже если это все будет по умолчанию, они должны быть полностью включены этой записью в конфигурации (yml или xml).

Образец (и полный, со всеми значениями по умолчанию) можно просмотреть с помощью команды bin/console debug:config JMSSerializerBundle, которая при необходимости заменит имя пакета.

Для JMSSerializer существует страница подробностей и аналогичные для других.

0 голосов
/ 07 мая 2018

запустите команду и очистите кеш:

php bin/console cache:clear

и добавьте классы использования вверху AppKernel.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...