@maxyc_webber
Web-программист

Существует ли какая нибудь библиотека для создания событий на сайте?

Задача на сайте - реализовать сервис событий. Пользователь добавил комментарий, пользователь попросился/удалился в команду/в клуб. добавил/удалил фотографию и пр.

Есть ли на памяти готовые библиотеки для этого? Не хочется готовить свой велосипед.
  • Вопрос задан
  • 768 просмотров
Пригласить эксперта
Ответы на вопрос 5
JhaoDa
@JhaoDa
LaravelRUS Team
А при чём тут библиотеки? В фреймворках есть механизм событий, его и используйте.
Пользователь нажал «Удалить фотографию», вы в контроллере это действие выполняете и генерируете событие (или в обратном порядке). Дальше обработчик-подписчик ловит это событие и выполняет какое-то действие — рассылает уведомления, пишет логи и т.д. На одно событие может быть неограниченной число обработчиков, что даёт гибкость — не надо зашивать весь код в одном месте.
Ответ написан
@shoomyst
dumb
По памяти могу вспомнить только https://github.com/stephpy/timeline-bundle
Но возможно не совсем то
Ответ написан
Подобных "библиотек" нет и причиной этому то, что сам фреймворк отлично работает с событиями. Изучи подробнее документацию.
Ответ написан
@lebedyncrs
public function behaviors() {
return [
'TimestampBehavior' => [
'attributes' => [
\yii\db\ActiveRecord::EVENT_BEFORE_INSERT => 'CreatedAt',
\yii\db\ActiveRecord::EVENT_BEFORE_UPDATE => 'ModifiedAt',
],
'class' => TimestampBehavior::className(),
'value' => function() {
return date('Y-m-d H:i:s');
},
],
];
}

уместить в моделе
Ответ написан
woonem
@woonem
Глупый вопрос. Надо делать её самому, по тому, что если и существует такая библиотека, то ядро её будет в 10 строк, а всё остальное (90%) - код для настройки под вас. Делайте сами. Изучение и настройка займут больше времени чем написание своего скрипта. Тем более внедрять придется как-то и я даже не догадываюсь как вообще можно сделать такую библиотеку.
Само программирование - это изобретание велосипеда. Что бы вы не делали - оно уже есть.
Так что не беспокойтесь.
Берите и пишите сами. Вы задали вопрос, будто это займет у вас 6 лет и лучше, если бы это уже было. Нет. 2 часа - и всё готово.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы