mirror of
https://github.com/flarum/core.git
synced 2025-08-05 07:57:46 +02:00
fix link
@@ -14,7 +14,7 @@ Flarum is a dynamic application and its domain needs to be able to be extended w
|
||||
|
||||
**Entities** (e.g. Discussion, Post, User) are based on Laravel’s Eloquent ORM. They use [Permissible](https://github.com/tobscure/permissible) to define logical permission clauses. They also have inbuilt validation.
|
||||
|
||||
**Repositories** are generally used to find/save/delete entities, providing a proper layer of database abstraction. However, during development so far, adhering strictly to this pattern has sometimes caused more trouble than it is worth (especially when thinking about how [Extensions] will deal with Entities and Repositories.) Thus, the abstraction is a bit leaky. This may become apparent and need to be dealt with when [tests are written](https://github.com/flarum/core/issues/3).
|
||||
**Repositories** are generally used to find/save/delete entities, providing a proper layer of database abstraction. However, during development so far, adhering strictly to this pattern has sometimes caused more trouble than it is worth (especially when thinking about how [Extensions](Extensions) will deal with Entities and Repositories.) Thus, the abstraction is a bit leaky. This may become apparent and need to be dealt with when [tests are written](https://github.com/flarum/core/issues/3).
|
||||
|
||||
**Commands** and **Domain Events** are associated with each Entity type, in line with [this pattern](https://github.com/laracasts/Commander). **Listeners** are used to do things like update metadata (post count, last post time, etc.), format post content, and send emails. This pattern is very suitable as Extensions will easily be able to listen for Domain Events.
|
||||
|
||||
|
Reference in New Issue
Block a user