Неизвестная форма отрисовки теста "rootform" в PHP

Я пытаюсь заставить Symfony Forms (с Twig Bridge), Slim и Twig хорошо играть вместе, но не вижу, чтобы это было успешным. Из того, что я вижу, у меня есть аспект формы, в котором все работает, в том смысле, что форма создается, метод createView() работает так, как должен, и я могу компенсировать его в шаблоне Twig и использовать {{ dump(form) }}, чтобы увидеть, что все идет так, как должно, из там.

У меня есть фактор, который создает соответствующий материал для рендеринга форм в Twig и устанавливает шаблон по умолчанию и т. д. - все, похоже, работает, но по какой-то причине, когда я возвращаю и визуализирую форму, я получаю следующую ошибку:

Type: Twig_Error_Syntax
Message: Unknown "rootform" test.
File: /var/www/mulligan/vendor/symfony/twig-bridge/Resources/views/Form/form_div_layout.html.twig
Line: 22

Я проверил, загружается ли FormExtension, и это так, и он определяет тестовые функции и т. д. (Одна из которых - rootform), и все, похоже, работает нормально. Это в основном фактор, который я использую для определения FormFactory (и обработки материалов Twig по мере необходимости):

    /**
     * @return FormFactoryInterface|null
     * @throws \ReflectionException
     */
    public function initialiseFactory(): ?FormFactoryInterface
    {
        $csrfGenerator = new UriSafeTokenGenerator();
        $csrfStorage   = new NativeSessionTokenStorage();
        $csrfManager   = new CsrfTokenManager($csrfGenerator, $csrfStorage);

        $defaultFormTheme          = 'form_div_layout.html.twig';
        $appVariableReflection     = new ReflectionClass(AppVariable::class);
        $vendorTwigBridgeDirectory = \dirname($appVariableReflection->getFileName());
        $viewsDirectory            = PROJECT_ROOT . '/templates/form';

        $twig = $this->getTwigView();

        $twigEnv       = new Environment(new FilesystemLoader([
            $viewsDirectory,
            $vendorTwigBridgeDirectory . '/Resources/views/Form'
        ]));
        $formEngine = new TwigRendererEngine([$defaultFormTheme], $twigEnv);

        $twig->getEnvironment()->addRuntimeLoader(new FactoryRuntimeLoader([
            FormRenderer::class => function () use ($formEngine, $csrfManager) {
                return new FormRenderer($formEngine, $csrfManager);
            }
        ]));

        $twig->addExtension(new FormExtension());

        $validator = Validation::createValidator();

        // Set up the Form component
        $formFactory = Forms::createFormFactoryBuilder()
                            ->addExtension(new HttpFoundationExtension())
                            ->addExtension(new CsrfExtension($csrfManager))
                            ->addExtension(new ValidatorExtension($validator))
                            ->getFormFactory();

        $this->setFactory($formFactory);

        return $this->getFactory();
    }

Есть ли у кого-нибудь мысли о том, что мне может не хватать, или о чем-то, что может не инициализироваться при этом - я обычно не использую Symfony Forms и т. д., Поэтому не уверен, в чем может заключаться проблема.

NB: composer.json для версий и т. Д .:

    "slim/slim": "^3.11",
    "slim/php-view": "2.1.*",
    "symfony/form": "^4.2",
    "symfony/security-csrf": "^4.2",
    "symfony/twig-bridge": "^4.2",
    "symfony/validator": "^4.2",
    "symfony/http-foundation": "^4.2",
    "slim/twig-view": "^2.4"

заранее спасибо

Вы загружали библиотеку в AppKernel?

Buze 14.01.2019 20:24

это не работает в Symfony, поэтому нет AppKernel для его загрузки - я просто использую Symfony Forms и Twig Bridge для запуска этого в Slim Framework

Crags 15.01.2019 10:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
110
0

Другие вопросы по теме