Я обновляю старое приложение в symfony 3.1, в котором отсутствовала панель форм после панели «Проверка» слева (это единственная отсутствующая панель). Я думал, что обновление до последней версии 3.4.x (в настоящее время 3.4.18) решит проблему. Я даже удалил все дерево поставщиков и установил их из композитора, но я не могу заставить его быть в профилировщике сети, хотя я вижу «новую» зеленую полосу и версию.
Он есть в любых новых или созданных мной проектах, поэтому я не думаю, что это имеет какое-то отношение к моей установке. Я даже сравнил composer.json, чтобы попытаться выяснить, чего может не хватать, но мне не удалось найти ничего полезного. И файл ... / view / Collectors / form.html.twig там.
Вот мой AppKernel.php:
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function __construct($environment, $debug)
{
date_default_timezone_set('Europe/Paris');
parent::__construct($environment, $debug);
}
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 Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),
new Vich\UploaderBundle\VichUploaderBundle(),
new Liip\ImagineBundle\LiipImagineBundle(),
new Ikadoc\KCFinderBundle\IkadocKCFinderBundle(),
new Core23\DompdfBundle\Core23DompdfBundle(),
new AppBundle\AppBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
}
return $bundles;
}
public function getRootDir()
{
return __DIR__;
}
public function getCacheDir()
{
return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();
}
public function getLogDir()
{
return dirname(__DIR__).'/var/logs';
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
}
Вот скриншот страницы входа в систему, где есть форма:

Что мне не хватает?
Что ж, я думаю, что вставка такого содержимого слишком затратна для этого вопроса. Не могли бы вы подсказать мне что-нибудь более конкретное?
Поскольку вы уже пытались обновить Symfony и очистить файлы поставщиков. Он указывает на настройки конфигурации вашего конкретного приложения для Symfony. Которые определяют, что включено / отключено в профилировщике Symfony. Мы не можем помочь, не зная вашей конфигурации, так как это будет просто игра в угадывание. А поскольку произошли значительные изменения, не связанные с BC, с 3.1 на 3.4, многое могло пойти не так.
Может, я не объяснил внятно. У меня есть работающая ветка в 3.1, и у меня есть еще одна ветка с тестом и всем, что нужно обновить до 3.4, так что у меня более одной ветки. Также нет панели формы, и я не знаю, что что-то пошло не так. По другим причинам, в качестве одного из тестов, чтобы попытаться выполнить «чистую» установку на пустой машине, я также попытался выполнить «установку композитора» с копией ветки 3.4 без дерева поставщиков. Кроме того, я думаю, что вы хотите увидеть файл AppKernel.php, поэтому я добавлю его выше.
Нам нужно будет увидеть ваши настройки /app/config/ для вашего фреймворка и маршрутизацию, поскольку они контролируют настройку вашего приложения Symfony. Ваш AppKernel загрузит пакеты, которые определяют, какие основные пакеты Symfony используются / доступны в вашем приложении, которые также можно настроить, например WebProfilerBundle. Поскольку вы очистили каталог vendor и, по-видимому, не внесли изменений в файлы, которыми управляет композитор, это, скорее всего, будет связано не с установкой Symfony, а с вашей конкретной конфигурацией Symfony.
Вы можете сравнить значения в конфигурациях app/config/ и <bundle>/Resources/config из рабочего приложения и того, которое не работает, чтобы определить, какой параметр может быть отключен, что вызывает проблему.
Я проверил все файлы в app / config /, и хотя были небольшие отличия, и я все скопировал, я все еще не вижу разницы. Кто-нибудь знает, каковы требования для показа именно этой панели?
Просто чтобы убедиться; когда панель не отображается, находитесь ли вы на странице, которая отображает форму Symfony? Symfony скроет панель, когда формы Symfony не отображаются. Вы можете щелкнуть отладчик, и раздел Forms сообщит: No forms were submitted for this request.
Я только что добавил скриншот при входе в систему, где есть форма. В других приложениях и AFAICT, независимо от того, есть форма или нет, панель формы всегда отображается и включена или нет, в зависимости только от содержимого формы.
Обновите свой вопрос выводом команды php bin/console debug:config framework




Какие у вас пакеты, фреймворк и конфигурации маршрутизации для вашей среды разработки?