Всем большущий привет!
В node.js/express есть фича под названием middleware - блоки выполняющиеся по очереди в момент поступления http запроса. Каждый такой блок может либо передать управление следущему, либо прекратить выполнение совсем, тогда по сути нечто вроде exit(). Скажем если кто-нибудь лезет в админскую часть без привелегий и т.д. Или в целях модификации параметров запроса и/или ответа. Кстати, не только перед запросом, но и перед ответом, уже после выполнения логики проекта.
В некоторых других фреймворках это вроде называется "фильтры", но информации не нашел. Есть ли что-то подобное во фреймворках, отличных от Express? Как называется? Кто с чем работает - поделитесь плиз информацией.
В symfony2 нашел Kernel Events но там если не ошибаюсь просто listner навешивается?
redreem
3.01.2016 - 23:27
попробуйте просто не вдаваться в абстракции, а сделать ручками нужную вам фильтрацию в нужном фреймворке.
Ronне совсем ясен вопрос, посмотрите вот это, может вы об этом
Списки Контроля Доступа (Acl)или
Менеджер событий EventsManager
Цитата (redreem @ 3.01.2016 - 23:27) |
попробуйте просто не вдаваться в абстракции, а сделать ручками нужную вам фильтрацию в нужном фреймворке. |
Можно и ручками, только тогда у меня свой велосипед имеется, где всё ручками вот этими.
Хочется именно понять как люди решают подобные проблемы, может быть есть лучше фишка, нежели middleware.
Цитата (Wind @ 4.01.2016 - 00:10) |
не совсем ясен вопрос, посмотрите вот это, может вы об этом |
Ну да, что-то вроде EventManager только для ядра.
В идеале какой-нибудь beforeRoute, afterRoute, beforeRender, afterRender и т.д.
Суть в возможности кильнуть выполнение или внести поправки в запрос/роут/окружение самым радикальным способом не вмешиваясь в код фреймворка. При этом располагать в качестве входных данных всеми основными объектами для каждой ситуации. Это в идеале.
RonВ данном фреймворке ядро на С, увы не знаю как глянуть внутренности. Но если интересно то в документации есть то что вам надо
Michael
4.01.2016 - 08:54
В yii2 есть ивенты, на них можно навесить обработчики.
А всякие beforeAction как раз эти ивенты и запускают.
_____________
There never was a struggle in the soul of a good man that was not hard
Slim framework Так и называется middleware.
Ок, спасибо, значит и в остальных реализовано так или иначе. )
Valick, только я не понял, причем здесь данный ролик? Что ты этим хотел сказать? =)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.