文件名称:laravel-history:Laravel 的简单事件源
文件大小:28KB
文件格式:ZIP
更新时间:2024-07-18 10:13:22
PHP
Laravel 3 的历史 注意:这是一个实验,该项目尚未完成,请勿用于生产;) 我们可以用它做什么? 我们不是直接联系数据库来做我们的更改,而是发送一个事件,这个事件存储在一个 EventLog 中并通过总线发送。 在总线的另一端,可以有侦听器,一旦它们接收到它们侦听的事件,它们就可以执行一些代码(插入/更新/删除数据库中的某些内容) 现在,这有什么好呢? 我们可以重播我们的 EventLog,并在重播时添加不同的侦听器,这样,我们可以非规范化某些内容,将内容存储在另一个数据库中等等。 因此,在重构内容时,您不必进行将所有数据移动到新表的迁移,您只需更改侦听器、清除数据库并重播日志。 很棒,对吧? 那不是全部... 由于您将每个 Action 存储在系统中,您还可以重放日志并查找模式,因此这是进行数据挖掘的好方法,当您找到要添加到数据库中的模式时,为其添加侦听器, 重播日志等等
【文件预览】:
laravel-history-master
----config()
--------eventstore.php(44B)
--------bus.php(47B)
--------eventhandlers.php(125B)
----demos()
--------usermanagement()
----tests()
--------eventstore.test.php(764B)
--------eventconverter.test.php(798B)
--------bus.test.php(591B)
----controllers()
--------events.php(2KB)
----README.markdown(1KB)
----views()
--------events()
----migrations()
--------2012_03_22_134412_add_events_table.php(528B)
----.gitignore(9B)
----libraries()
--------bus()
--------eventconverter.php(451B)
--------eventstore.php(2KB)
--------eventstore()
--------bus.php(2KB)
--------eloquent()
--------uuid.php(686B)
--------eventhandlers.php(909B)
--------eventvalidator.php(1KB)
----public()
--------css()
--------js()
----start.php(453B)