Страница 1 из 1

вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 16:33
RGF
подскажите, как на вызов любого действия любого контроллера повесить выполнение определенного действия

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 16:39
Faenir

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 16:50
RGF
это в пределах контроллера
а по всем контроллерам? без наследования от одного измененного?

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 17:53
HQ0
Евенты же!

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 20:39
Faenir
RGF писал(а):
это в пределах контроллера
а по всем контроллерам? без наследования от одного измененного?
А почему, если не секрет, не хотите создать свой базовый контроллер? Это ведь удобно...

Можете прям в конфиге написать что-то такое:

Код: Выделить всё

return [
    ...
    'on beforeAction' => function () {
       ...
    }
]; 

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 21:00
zelenin
MrArthur писал(а): А почему, если не секрет, не хотите создать свой базовый контроллер? Это ведь удобно...
вам удобно, ему нет. А главное: поставленную проблему не решает.

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 22:25
Faenir
zelenin писал(а):вам удобно, ему нет. А главное: поставленную проблему не решает.
Не понимаю, что в этом не удобного. У меня базовый контроллер еще с 1 версии Yii во всех проектах...
По поводу "поставленную проблему не решает" - почему не решает?
на вызов любого действия любого контроллера повесить выполнение определенного действия
Чем beforeAction/afterAction не подходят?

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.06, 22:28
zelenin
MrArthur писал(а):Не понимаю, что в этом не удобного. У меня базовый контроллер еще с 1 версии Yii во всех проектах...
как давность использования вами этого приема влияет на удобство?
MrArthur писал(а):По поводу "поставленную проблему не решает" - почему не решает?
не всегда есть возможность унаследоваться от одного контроллера

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.07, 07:49
RGF
MrArthur писал(а):
RGF писал(а):
это в пределах контроллера
а по всем контроллерам? без наследования от одного измененного?
А почему, если не секрет, не хотите создать свой базовый контроллер? Это ведь удобно...

Можете прям в конфиге написать что-то такое:

Код: Выделить всё

return [
    ...
    'on beforeAction' => function () {
       ...
    }
];
спасибо!

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.07, 09:51
Faenir
zelenin писал(а):как давность использования вами этого приема влияет на удобство?
Если начал использовать давно и до сих пор использую - значит для меня это удобно.
Я не спорю, что каждому свое, но хотелось бы услышать, чем именно этот способ не удобен для вас?

Re: вызов любого действия любого контроллера - логировать

Добавлено: 2014.10.07, 09:54
zelenin
MrArthur писал(а):
zelenin писал(а):как давность использования вами этого приема влияет на удобство?
Если начал использовать давно и до сих пор использую - значит для меня это удобно.
Я не спорю, что каждому свое, но хотелось бы услышать, чем именно этот способ не удобен для вас?
я уже ответил: не на все контроллеры можно повесить базовый контроллер, а, значит, этот метод не претендует на универсальность. К тому же лепить костыли в beforeAction хуже, чем повесить универсальное поведение в конфиг.