powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Symfony] Разрешить несуществующие екшены
21 сообщений из 21, страница 1 из 1
[Symfony] Разрешить несуществующие екшены
    #37794324
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проект на Symfony.
Есть десяток екшенов, с дублирующим кодом (он сам поднастраиваеться в зависимости от $this->getActionName()).
Сейчас реализвоано так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public function executeIndex() {
  $this->_panel();
}

public function executeDetailed() {
  $this->_panel();
}
public function executeMessages() {
  $this->_panel();
}

....
protected function panel(){
....
}


Хочеться без этих бесмысленых executeIndex, executeDetailed... Как быть? К примеру через __call(), но перед запуском симфони сам проверяет через method_exists существует ли екшен. Как быть? Подойдет любое решение даже не это.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794459
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсть десяток екшенов, с дублирующим кодом
дальше в сад. читать буквари.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794495
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторЕсть десяток екшенов, с дублирующим кодом
дальше в сад. читать буквари.

Скажи плиз, какой смысл писать подобные посты, если они все равно никак не решают проблему. Возможно, конечно, поднимают твою самооценку, но данный форум не для этого предназначен. Когда ты создаешь темы "как написать простейшую регулярку" тебя не посылают читать доки а помогают, но потом этим же людям ты начинаешь действовать на нервы.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794499
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренат,

может там есть что-то типа beforeAction или init() в Yii ?
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794500
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или с помощью роутинга
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794510
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разрешить несуществующие экшены нельзя.
делать экшены с одинаковым кодом нельзя.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794520
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
preExecute выполнится до генерации ошибки или после?
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794527
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettpreExecute выполнится до генерации ошибки или после?
да неправильно это. если экшены делают одно и тоже - значит это просто один экшен.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794756
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowда неправильно это. если экшены делают одно и тоже - значит это просто один экшен.
они делают разное вроде
Ренатон сам поднастраиваеться в зависимости от $this->getActionName()

другое дело зачем и почему так сделано?
видимо отличия незначительны
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794797
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Yii это дома, а на работе у нас Symfony
2. beforeExecute есть но он выполняеться после того как 404 выкидывается
ScareCrowHettpreExecute выполнится до генерации ошибки или после?
да неправильно это. если экшены делают одно и тоже - значит это просто один экшен.
Может быть и так, но хочеться как то по красивому.

Моя задача:
детальная информация о пользователе, состоит из десятков блоков.
каждый блок - это шаблон и набор переменных для этого шаблона.

Дополнптельно хочеться чтобы каждый блок можно было смотреть по отдельности.

Я все реализовал так:
executeIndex - бегает по всем методам получения переменных для блоков. И генерит через все блоки через общий шаблон путем include_partial.
и поскольку у каждого блока есть имя, к примеру detailed,messages итд, я создал екшены executeDetailed, executeMessages которые в тупую получают переменые для шаблона и выводят шаблон.

2. везде
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794821
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а с помощью роутера то там можно все запросы к определенному контролеу направить на один экшен?
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794826
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор, я создал екшены executeDetailed, executeMessages которые в тупую получают переменые для шаблона и выводят шаблон.
в первом сообщении всё не так.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794830
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettну а с помощью роутера то там можно все запросы к определенному контролеу направить на один экшен?
а причем здесь роутер?
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794849
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при том, что он может сделать так, чтобы все запросы к определенному контролеру вызывали заданный экшен.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794857
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettпри том, что он может сделать так, чтобы все запросы к определенному контролеру вызывали заданный экшен.
это делается созданием единственного экшена в контроллере и вызовом его.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37794868
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так я и это и предлагаю сделать.
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37795020
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowHettпри том, что он может сделать так, чтобы все запросы к определенному контролеру вызывали заданный экшен.
это делается созданием единственного экшена в контроллере и вызовом его.
Спасибо через роутинг и сделал
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37795633
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идеи нужно патчить симфони, и следовательно все новые версии также придется патчить Вас это не пугает?
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37795636
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmeL_mdПо идеи нужно патчить симфони, и следовательно все новые версии также придется патчить Вас это не пугает?Вначале нужно прочесть до конца и только потом писать ответ
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37795735
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
руки за это надо отырвать
...
Рейтинг: 0 / 0
[Symfony] Разрешить несуществующие екшены
    #37796447
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmeL_mdПо идеи нужно патчить симфони, и следовательно все новые версии также придется патчить Вас это не пугает?
Роутинг через routing.yml прописал, а трогать исходники симфони
а. у меня нет доступа
б. признак плохого тона
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Symfony] Разрешить несуществующие екшены
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]