Ответы пользователя по тегу Symfony
  • Доступ к параметрам из репозитория Symfony 2

    png
    @png
    репозиторий — это репозиторий доктрины — класс — наследник Doctrine\ORM\EntityRepository
    я вас правильно понял?
    нельзя получить параметры из репозитория, разработчики не предусматривали такую возможность.
    Потому что так делать будет не правильно.

    В репозиториях живут методы, которые хранят логику сложных выборок данных из БД. Больше ничего им не нужно. А если нужно, у методов — есть параметры.

    FTP — это не БД.

    Я бы для этого рекомендовал вам сделать сервис для этих целей.
    А в сервис параметры легко подставляются через конструктор или set-методы через DI-контейнер.
    Посмотрите как они это делают в примере с почтой в официальной документации.
    Ответ написан
    2 комментария
  • [ Symfony 2 ] Объедененные формы и данные по-умолчанию

    png
    @png
    Первый коммент, к вашей же статье. я делал похожим образом, но с мускулом, и моя идея чуть по шире.

    идею описывал тут

    Позднее делал задачу ещё более похожую на вашу. Объединял в одну несколько форм.
    Написал общий объект, указал для него тип. далее орудовал с этим объектом.
    Ответ написан
    Комментировать
  • Symfony 2, чтение yml-конфигурации из контроллеров или сервисов?

    png
    @png
    тоже самое.
    Однако использование котейнера внутри сервисов — это не правильно с точки зрения архитектуры. более правильно передавать параметры через конструктор или set-методы.
    Основная дока тут: symfony.com/doc/current/book/service_container.html

    по самим параметрам:

    в файле sevices.yml — так же в любом другом (не обязательно сервисы)
    может быть строчка
    parameters:
    test: 1

    в файле config.yml тоже могут быть такие строки

    а ещё есть файл paremeters.ini
    test = 1


    а ещё есть переменные окружения. их тоже можно доставать так же через параметры.

    если хочешь чтобы параметр попал в конструктор сервиса, то указываешь его имя
    %test%

    пример, из офф документации:
    # src/Acme/HelloBundle/Resources/config/services.yml
    parameters:
    my_mailer.class: Acme\HelloBundle\Mailer
    my_mailer.transport: sendmail

    services:
    my_mailer:
    class: %my_mailer.class%
    arguments: [%my_mailer.transport%]
    Ответ написан
    1 комментарий