It's a little more complex than that, but still not far from the truth. 🙂
Let me explain:
- Flarum's core package is built on some of Laravel's components (each in version 5.0 currently) - most notably, the database component, so that we can use Eloquent.
- For other Laravel components, we try to only couple ourselves to the interfaces in the illuminate/contracts
repository.
- Our standalone app (the flarum/flarum
repository) then requires some of the other Laravel components for concrete implementations of these contracts. It does take some shortcuts to boost performance, though, so it's not a full Laravel installation.
- This structure means that you will be able to integrate Flarum in an existing Laravel app by requiring the flarum/core
package (and maybe another integration package) and loading some service providers.
I hope this explanation makes sense. 🙂