当前位置: 首页 > 软件库 > 开发工具 > PHP开发工具 >

laravel-event-projector

Event sourcing for Artisans 📽
授权协议 MIT License
开发语言 PHP
所属分类 开发工具、 PHP开发工具
软件类型 开源软件
地区 不详
投 递 者 祁绪
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

THIS PACKAGE HAS BEEN SUPERCEDED BY SPATIE/LARAVEL-EVENT-SOURCING

Because the package now does more than just providing projectors, we decided to change the name of the package to spatie/laravel-event-sourcing.

Upgrading from v3 of laravel-event-projector to v1 of laravel-event-sourcing is easy. Take a look at the upgrade guide for laravel-event-sourcing.

Event sourcing for Artisans ��

Latest Version on PackagistBuild StatusStyleCIQuality ScoreTotal Downloads

This package aims to be the entry point to get started with event sourcing in Laravel. It can help you with setting up aggregates, projectors, and reactors.

If you've never worked with event sourcing, or are uncertain about what aggregates, projectors and reactors are head over to the getting familiar with event sourcing section in our docs.

Event sourcing might be a good choice for your project if:

  • your app needs to make decisions based on the past
  • your app has auditing requirements: the reason why your app is in a certain state is equally as important as the state itself
  • you foresee that there will be a reporting need in the future, but you don't know yet which data you need to collect for those reports

If you want to skip to reading code immediately, here are some example apps. In each of them, you can create accounts and deposit or withdraw money.

Documentation

You can find installation instructions and detailed instructions on how to use this package at the dedicated documentation site.

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.

Postcardware

You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.

We publish all received postcards on our company website.

Credits

The aggregate root functionality is heavily inspired by Frank De Jonge's excellent EventSauce package. A big thank you to Dries Vints for giving lots of valuable feedback while we were developing the package.

Support us

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

Does your business depend on our contributions? Reach out and support us on Patreon.All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.

Footnotes

1 Quote taken from Event Sourcing made Simple

License

The MIT License (MIT). Please see License File for more information.

 相关资料
  • 前言 Laravel 的事件系统是一个简单的观察者模式,主要目的是用于代码的解耦,可以防止不同功能的代码耦合在一起。laravel 中事件系统由两部分构成,一个是事件的名称,事件的名称可以是个字符串,例如 event.email,也可以是一个事件类,例如 AppEventsOrderShipped;另一个是事件的 listener,可以是一个闭包,还可以是监听类,例如 AppListenersSe

  • Type: DOMEvent MooTools的DOMEvent方法。 DOMEvent Method: constructor 语法: new DOMEvent([event[, win]]); 参数: event - (event, required)HTMLEvent对象。 win - (window, optional: defaults to window)事件的上下文。 属性: pag

  • 组件 触发字符 mui.on(事件绑定) mmon mui.off(事件取消) mmoff mui.trigger()(事件触发) mtrigger mui.fire()(自定义事件) mfire document.getElementById() dg document.querySelector() ds document.querySelector().addEventListener()

  • Swoole扩展还提供了直接操作底层epoll/kqueue事件循环的接口。可将其他扩展创建的socket,PHP代码中stream/socket扩展创建的socket等加入到Swoole的EventLoop中, 否则第三方的$fd如果是同步IO会导致Swoole的EventLoop得不到执行,参考案例。 !> Event模块比较底层,是epoll的初级封装,使用者最好有IO多路复用编程经验。 事

  • 描述:描述一个事件。 语法 @event <className>#[event:]<eventName> 概述 描述一个事件。@event标签允许您描述一个可触发的事件,一个典型的事件是由对象定义的一组属性来表示。 标签来定义事件的具体类型,您可以使用@fires标记,以表明这个种方法可以触发该事件。你还可以使用@listens标签,以指示表明用这个表示来侦听该事件。 JSDoc自动预先考虑命名空

  • Event::fire('foo.bar', array($bar)); // 注册一个事件监听器. // void listen(string|array $events, mixed $listener, int $priority) Event::listen('App\Events\UserSignup', function($bar){}); Event::listen('foo.*',