Size: a a a

2021 January 19

в

вαғғσмεттι in symfony
🌚
источник

I

Ivan in symfony
Какие есть варианты для вывода данных из базы  в twig шаблонах которые не вызываются на прямую а используются как базовые(base.html,layout.html), я пока придумал два варианта.
- Добавить функцию в TwigExtensions в которой получать все нужные данный и эту функцию вызывать в шаблоне.
- Добавить EventSubscribe на каждый запрос в котором получать нужные данные и сохранять их в сессию, в шаблонах выводить через app.session.
Есть еще вариант через render(controller()) в шаблоне, но это очень неправильно в данной ситуации т.к. делать для этого отдельный метод в контроллере и отдельный шаблон избыточно.
Какие еще есть варианты? надо просто вывести одно значение из базы на каждом шаблоне
источник

D

Dmitriy in symfony
мы используем TwigExtensions
источник

D

Dmitriy in symfony
еще есть вариант с глобалами, но нам он не понравился
источник

I

Ivan in symfony
Неё, глобалы точно не вариант
источник

D

Dmitry in symfony
вαғғσмεттι
подскажите пожалуйста, что с этим делать?
Ничего. Ждать пока симфони починит. Это их баг.
источник

AC

Alexey Cherepanov in symfony
Всем привет. Случилось непонятное. Поставил Symfony 5, созадл контроллер, роут к нему. Затем контроллер удалил, создал новый, переписал роут. Получаю ошибку
Expected to find class "App\Controller\Events\EventsList" in file "/var/www/event.collector.sitename.ru/src/Controller/Events/EventsList.php" while importing services from resource "../src/", but it was not found! Check the namespace prefix used with the resource in /var/www/event.collector.sitename.ru/src/../config/services.yaml (which is being imported from "/var/www/event.collector.sitename.ru/src/Kernel.php").
Не может найти тот старый контроллер. Если сделать composer  dump-autoload, то вываливает
Class App\Controller\EventsList located in ./src/Controller/Events/EventsList.php does not comply with psr-4 autoloading standard. Skipping.
ошибка сохраняется. Как его выпилить наглухо?
источник

C

CvekCoder in symfony
bin/console cache:clear попробуйте
источник

AC

Alexey Cherepanov in symfony
CvekCoder
bin/console cache:clear попробуйте
Получаю
Expected to find class "App\Controller\Events\EventsList" in file "/var/www/event.collector.sitename.ru/src/Controller/Events/EventsList.php" while importing services from resource "../src/", but it was not found! Check the namespace prefix used with the resource in /var/www/event.collector.sitename.ru/src/../config/services.yaml (which is being imported from "/var/www/event.collector.sitename.ru/src/Kernel.php").
ту же ошибку
источник

AK

Andrey Kravchuk in symfony
знач в конфиге беда
источник

C

CvekCoder in symfony
В config/services.yaml что-то прописано?
источник

AC

Alexey Cherepanov in symfony
# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.

# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:

services:
   # default configuration for services in *this* file
   _defaults:
       autowire: true      # Automatically injects dependencies in your services.
       autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.

   # makes classes in src/ available to be used as services
   # this creates a service per class whose id is the fully-qualified class name
   App\:
       resource: '../src/'
       exclude:
           - '../src/DependencyInjection/'
           - '../src/Entity/'
           - '../src/Kernel.php'
           - '../src/Tests/'

   # controllers are imported separately to make sure services can be injected
   # as action arguments even if you don't extend any base controller class
   App\Controller\:
       resource: '../src/Controller/'
       tags: ['controller.service_arguments']

   # add more service definitions when explicit configuration is needed
   # please note that last definitions always *replace* previous ones
источник

AC

Alexey Cherepanov in symfony
CvekCoder
В config/services.yaml что-то прописано?
Конфиг вот, не трогал его совсем, ума не приложу куда он валит инфу о старых классах и почему
источник

D

Dmitry in symfony
grep -R 'EventsList' ./*
источник

C

CvekCoder in symfony
/var/www/event.collector.sitename.ru/src/Controller/Events/EventsList.php
этот файл существует? Namespace у него верный?
источник

AC

Alexey Cherepanov in symfony
CvekCoder
/var/www/event.collector.sitename.ru/src/Controller/Events/EventsList.php
этот файл существует? Namespace у него верный?
Он удален, в том и беда)
источник

D

Dmitry in symfony
Alexey Cherepanov
Он удален, в том и беда)
покажите вывод грепа
источник

AC

Alexey Cherepanov in symfony
Dmitry
покажите вывод грепа
./config/routes.yaml:    controller: App\Controller\EventsListController::show
./src/Controller/EventsListController.php:class EventsListController
./vendor/composer/autoload_static.php:        'App\\Controller\\EventsListController' => __DIR__ . '/../..' . '/src/Controller/EventsListController.php',
./vendor/composer/autoload_classmap.php:    'App\\Controller\\EventsListController' => $baseDir . '/src/Controller/EventsListController.php',

Это новый класс с другим именем
источник

C

CvekCoder in symfony
/src/Controller/EventsListController.php

А у этого верный неймспейс?
источник

AC

Alexey Cherepanov in symfony
CvekCoder
/src/Controller/EventsListController.php

А у этого верный неймспейс?
namespace App\Controller;
источник